J'ai une variable total
qui stocke le total des miles et gallons chaque fois que l'utilisateur entre.obtenir la moyenne de tout en boucle C en utilisant la même variable
Lorsque l'utilisateur tape -1, le programme est supposé ajouter tous les totaux ensemble et prendre la moyenne. Je ne peux pas obtenir la variable pour ajouter la valeur totale précédente à elle-même pour la prochaine itération de la boucle.
J'ai essayé totals += totals;
mais cela retourne la dernière valeur totale de la boucle?
qu'est-ce que je fais mal?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <conio.h>
const float EXIT_VALUE = -1.0f;
int main(void)
{
float gallons; // number of gallons used
float miles; // number of miles driven
float totals; // total = miles * gallons
int numOfEntries = 0; // number of entries
float avgConsumption = 0; // avg of all entries made by user
// get number of gallons from user
printf("%s%.1f%s", "Enter the gallons used (", EXIT_VALUE, " to end): ");
scanf("%f", &gallons);
// loops until user enter -1
while (gallons != EXIT_VALUE) {
//miles driven by user
printf("%s", "Enter the miles driven: ");
scanf("%f", &miles);
// calculate total miles per gallon
totals = miles/gallons;
printf("The miles/gallons for this tank was %.6f\n\n", totals);
// get number of gallons from user
printf("%s%.2f%s", "Enter the gallons used (", EXIT_VALUE, " to end): ");
scanf("%f", &gallons);
totals += totals;
numOfEntries++;
avgConsumption = totals/numOfEntries;
} // end while
printf("\nThe overall average miles/gallon was %.6f: ", avgConsumption);
_getch();
return 0;
} // end main
'totaux + = totals' est le même que la multiplication' totals' par 2. Je suis assez sûr moyen est calculé différemment –
ce que je voulais dire, la moyenne est calculée ici à « avgConsumption = totaux/numOfEntries ", où totals est le nombre total de totaux de toutes les itérations de la boucle et numOfEntries est le nombre de fois que l'utilisateur a été invité à entrer les totaux – Rgoat
Et comme je l'ai dit,' totals' ne sont pas calculés correctement –