Ciao a tutti,
vorrei una mano con un esercizio che mi richiede un programma che dovrebbe prendere in input i lt e i km di ogni viaggio e calcolare una media per viaggio e una media complessiva. Se lo eseguo dichiarando tutte variabili di tipo int il programma funziona, ma se introduco quelle di tipo float (come richiesto nell'es.) mi cicla all'infinito.
(Dev C++ su windows)
codice:
#include <stdio.h>
int main()
{
int km, totKm;
float lt, totLt, media, mediaCompl;
lt = 0;
totKm = 0;
totLt = 0;
printf ("Enter lt used (-1 to end): ");
scanf ("%f", <);
while (lt != -1){
printf ("Enter km driven: ");
scanf ("%d", &km);
totLt += lt;
totKm += km;
media = (float) km / lt;
printf ("The km/lt for this tank was %d\n\n", media);
printf ("Enter lt used (-1 to end): ");
scanf ("%f", <);
}
mediaCompl = (float) totKm / totLt;
printf ("The overall average km/lt was %d\n", mediaCompl);
system ("PAUSE");
return 0;
}
Aiutatemi per favore
p.s. Spero di essermi espresso in modo corretto, sono alle prime armi.