我想做一個程序,做一個非常基本的計算,但由於某種原因,我不能得到正確的代碼。它應該計算一次行程的每加侖英里數。然後,您可以多次添加此信息(針對不同的旅程),並且每次計算每加侖的總里程數(即所有行程的每加侖平均英里數)。這是代碼:無法正確計算程序
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int counter = 1;
double milePerRe, milePerTo = 0, x, y;
cout << "Enter the miles used (-1 to quit): ";
cin >> x;
cout << "Enter gallons: ";
cin >> y;
while (x != -1)
{
milePerRe = x/y;
milePerTo += milePerRe;
milePerTo /= counter;
cout << "MPG this tankful: " << setprecision(6) << fixed << milePerRe;
cout << "\nTotal MPG: " << setprecision(6) << fixed << milePerTo << endl << endl;
counter++;
cout << "Enter the miles used (-1 to quit): ";
cin >> x;
if (x != -1)
{
cout << "Enter gallons: ";
cin >> y;
}
}
system("pause");
return 0;
}
當我運行該程序,並說我在第一次加侖的數量和第二次進入10英里和1,一切工作正常。然後,如果我再次執行此操作,則計算開始變得不正確。
有沒有建議嗎?
哪裏'milePerRe'和'milePerTo'申報? –
不正確?像在最後一位小數? –
爲什麼'milePerTo'和'milePerRe'在每個循環中累積而不是重置? –