sparalesto93
Nuovo Utente
- Messaggi
- 1
- Reazioni
- 0
- Punteggio
- 24
salve a tutti,ho un problema con un esercizio. L'esercizio è il seguente:
"A causa dell'alto prezzo della benzina,gli automobilisti sono interessati al numero di km percorsi dalle proprie automobili. Un automobilista ha tenuto traccia di diversi pieni di benzina,registrando i km percorsi e i litri utilizzati per ogni pieno. Sviluppate un programma C che prenda in input i km percorsi e i litri utilizzati.Il programma dovrà ottenere e visualizzare i km per litro ottenuti da ogni pieno.Dopo aver elaborato tutte le informazioni in input,il programma dovrà calcolare e visualizzare anche i km per litro ottenuti complessivamenti da tutti i pieni."
Io ho messo qui sotto la mia scrittura del programma(il programma funziona e tutto,fa i calcoli correttamente e in qualche modo termina anche ecc) l'unica cosa con la scrittura che ho messo qua sotto non riesco ad interrompere il programma con un unico valore sentinella,ma devo inserire nuovamente il valore sentinella per ogni input prima di poterlo terminare,per quale motivo???sono andato anche dal professore a chiedere spiegazioni ma non aveva tempo per spiegarmi,con gli esami che si avvicinano vorrei capire cosa sbaglio...ringrazio in anticipo chiunque possa aiutarmi. Ciao
#include <stdio.h>
main()
{
int counter,total;
float x/*km*/,y/*litri*/,consumo,average;
total=0;
counter=0;
printf("Digitare numero di km percorsi(digitare -1 per interrompere il programma)\n");
scanf("%f",&x);
printf("Digitare numero di litri consumati\n");
scanf("%f",&y);
consumo=x/y;
printf("Il consumo e' di %.2f km/l\n\n",consumo);
while(x!= -1){
counter+=1;
total=total+consumo;
printf("Digitare numero di km percorsi(digitare -1 per interrompere il programma)\n");
scanf("%f",&x);
printf("Digitare numero di litri consumati\n");
scanf("%f",&y);
consumo=x/y;
printf("Il consumo e' di %.2f km/l\n\n",consumo);}
if(counter!= 0){
average=(float)total/counter;
printf("La media totale di km al litro e'%.2f\n",average);}
else
printf("Non hai inserito sufficienti dati\n");
}
"A causa dell'alto prezzo della benzina,gli automobilisti sono interessati al numero di km percorsi dalle proprie automobili. Un automobilista ha tenuto traccia di diversi pieni di benzina,registrando i km percorsi e i litri utilizzati per ogni pieno. Sviluppate un programma C che prenda in input i km percorsi e i litri utilizzati.Il programma dovrà ottenere e visualizzare i km per litro ottenuti da ogni pieno.Dopo aver elaborato tutte le informazioni in input,il programma dovrà calcolare e visualizzare anche i km per litro ottenuti complessivamenti da tutti i pieni."
Io ho messo qui sotto la mia scrittura del programma(il programma funziona e tutto,fa i calcoli correttamente e in qualche modo termina anche ecc) l'unica cosa con la scrittura che ho messo qua sotto non riesco ad interrompere il programma con un unico valore sentinella,ma devo inserire nuovamente il valore sentinella per ogni input prima di poterlo terminare,per quale motivo???sono andato anche dal professore a chiedere spiegazioni ma non aveva tempo per spiegarmi,con gli esami che si avvicinano vorrei capire cosa sbaglio...ringrazio in anticipo chiunque possa aiutarmi. Ciao
#include <stdio.h>
main()
{
int counter,total;
float x/*km*/,y/*litri*/,consumo,average;
total=0;
counter=0;
printf("Digitare numero di km percorsi(digitare -1 per interrompere il programma)\n");
scanf("%f",&x);
printf("Digitare numero di litri consumati\n");
scanf("%f",&y);
consumo=x/y;
printf("Il consumo e' di %.2f km/l\n\n",consumo);
while(x!= -1){
counter+=1;
total=total+consumo;
printf("Digitare numero di km percorsi(digitare -1 per interrompere il programma)\n");
scanf("%f",&x);
printf("Digitare numero di litri consumati\n");
scanf("%f",&y);
consumo=x/y;
printf("Il consumo e' di %.2f km/l\n\n",consumo);}
if(counter!= 0){
average=(float)total/counter;
printf("La media totale di km al litro e'%.2f\n",average);}
else
printf("Non hai inserito sufficienti dati\n");
}