sici_90
04-03-2015, 16:44
Salve a tutti,
come da titolo vorrei una mano su un esercizio di programmazione.
il testo dell'esercizio è il seguente:
"Gli automobilisti sono sempre più attenti ai consumi delle proprie automobili. Un automobilista ha tenuto traccia del numero di km percorsi con la sua auto e del numero di litri di benzina acquistati durante il rifornimento. Così hanno fatto tutti gli automobilisti. Sviluppare un programma in c++ che immetta il numero di km percorsi ed il numero di litri di benzina acquistati da ogni automobilista e calcoli e mostri a video il numero di km percorsi con un litro di benzina. Questo calcolo e visualizzazione deve essere effettuato per un numero imprecisato di automobili, perchè alla fine dell'algoritmo si vuole ottenere una media dei km percorsi con un litro di benzina."
Allora devo utilizzare solo i comandi if , else , while.
il programma che ho scritto io è il seguente:
#include <iostream>
using namespace std;
int main() {
int a, b, totallitri, totalkm, counter;
float mediakm, media;
totallitri=0;
totalkm=0;
counter=0;
cout<<"inserire i litri di benzina acquistati";
cin>>a;
cout<<"inserire i km percorsi";
cin>>b;
while(a!=(-1)){
totallitri=totallitri+a;
counter=counter+1;
cout<<"inserisci il numero di litri";
cin>>a;
cout<<"inserisci i km percorsi";
cin>>b;
totalkm=totalkm+b;
}
if(counter!=0){
mediakm=totalkm/totallitri;
media=mediakm/counter;
cout<<"la media di km percorsi è : "<<media<<endl;
}
else
cout<<"non sono stati acquistati litri di benzina";
return 0;
}
ci sono ben 2 problemi
il primo:mi da sempre zero come media.
il secondo è che non si ferma quando viene immesso il valore -1 per i litri finchè non viene inserito il valore -1 anche per i km.
potreste aiutarmi per favore?
Grazie a tutti
come da titolo vorrei una mano su un esercizio di programmazione.
il testo dell'esercizio è il seguente:
"Gli automobilisti sono sempre più attenti ai consumi delle proprie automobili. Un automobilista ha tenuto traccia del numero di km percorsi con la sua auto e del numero di litri di benzina acquistati durante il rifornimento. Così hanno fatto tutti gli automobilisti. Sviluppare un programma in c++ che immetta il numero di km percorsi ed il numero di litri di benzina acquistati da ogni automobilista e calcoli e mostri a video il numero di km percorsi con un litro di benzina. Questo calcolo e visualizzazione deve essere effettuato per un numero imprecisato di automobili, perchè alla fine dell'algoritmo si vuole ottenere una media dei km percorsi con un litro di benzina."
Allora devo utilizzare solo i comandi if , else , while.
il programma che ho scritto io è il seguente:
#include <iostream>
using namespace std;
int main() {
int a, b, totallitri, totalkm, counter;
float mediakm, media;
totallitri=0;
totalkm=0;
counter=0;
cout<<"inserire i litri di benzina acquistati";
cin>>a;
cout<<"inserire i km percorsi";
cin>>b;
while(a!=(-1)){
totallitri=totallitri+a;
counter=counter+1;
cout<<"inserisci il numero di litri";
cin>>a;
cout<<"inserisci i km percorsi";
cin>>b;
totalkm=totalkm+b;
}
if(counter!=0){
mediakm=totalkm/totallitri;
media=mediakm/counter;
cout<<"la media di km percorsi è : "<<media<<endl;
}
else
cout<<"non sono stati acquistati litri di benzina";
return 0;
}
ci sono ben 2 problemi
il primo:mi da sempre zero come media.
il secondo è che non si ferma quando viene immesso il valore -1 per i litri finchè non viene inserito il valore -1 anche per i km.
potreste aiutarmi per favore?
Grazie a tutti