Ho fatto le correzzioni come suggerito, penso che ora vada meglio ?
/*PROGRAMMA CHE CALCOLA MEDIA DEI KM PERCORSI CON I LITRI EFFETTUATI,ALL'INSERIMENTO DEL VALORE SENTINELLA CALCOLA LA MEDIA TOTALE*/
#include <stdio.h>
/*inizio del programma*/
int main(void){
int km,cont,totkm;/*dichiarazione delle variabili intere*/
float lt,totlt,media,tot;/*dichiarazione delle variabili a virgola mobile*/
lt=0.1;/*inizializzazione della variabile per il ciclo vhile*/
cont=0;/*inizializzazione della variabile contatore*/
/*inizio ciclo while,fintanto che non verrà inserito il valore sentinella continua a chiedere di inserire i dati*/
while(lt<=-1){
printf("Inserisci i litri riforniti -1 per terminare: ");/*richiesta di inserimento del dato*/
scanf("%f",<);/*memorizzazione del dato nella variabile lt*/
if(lt>0.1){
printf("Inserisci i km percorsi: ");/*richiesta di inserimento dei km*/
scanf("%d",&km);/*memorizzazione del dato*/
media=(float)km/lt;/*calcolo della media */
printf("Con %.2f lt riforniti, la tua auto percorrre mediamente %.03f km/1lt\n",lt,media);/*stampa del risultato*/
totkm=totkm+km;/*assegnamento del totale dei km effettuati per la media globale*/
totlt=totlt+lt;/*assegnamento del totale dei lt effettuati per la media globale*/
cont++; /*incremento della variabile contatore*/
}
if(lt<0.0)/*se inserisci il numero 0 o 0.0 stampa dato non corretto*/
printf("Dato non corretto\n");/*stampa messaggio di errore*/
}
/*fine del ciclo while*/
if(lt<=-1)
if(cont>1){/*se sono stati inseriti più rifornimenti calcola la media globale dei consumi*/
tot=(float)totkm/totlt;/*calcolo della media globale dei consumi(somma dei km effettuati diviso la somma dei lt rifoniti)*/
printf("Con %d rifornimenti effettuati hai iserito un totale %.3f lt di carburante , la tua auto percorre mediamente %.3f km/1lt\n",cont,totlt,tot);/*stampa del risultato*/
}
printf("Programma terminato");/*stampa messaggio di fine programma*/
return 0;/*programma eseguito correttamente*/
}
non ho capito però come uscire dal ciclo con lt<0.0