所以這個程序應該是收集天氣氣溫超過7天,然後基本上只是平均溫度和最高溫度記錄打印出來回給用戶。請記住,下面這段代碼是一個更大的程序的一部分。無論如何,問題似乎是「highest_temp1」浮點變量。當我運行該程序時,它會生成某種錯誤代碼而不是最高溫度。這段代碼在一個單獨的源文件中進行了測試,並且沒有任何問題。浮點變量不工作內部使用for循環switch敘述
switch (choice)
{
case 3:
int n;
float temperatures [7];
float lastweektemp [7] = {12.56,8.65,7.5,10,7.9,5,8};
float highest_temp1, highest_temp2;
float accumulated_temp1, accumulated_temp2;
system("CLS");
cout << "____________Weather Data____________" << endl << endl;
for (n = 0; n<7; n++)
{
cout << "What is the temperature for Day " << n+1 << " ?" << endl;
cin >> temperatures[n];
if (highest_temp1 < temperatures [n])
{
highest_temp1 = temperatures [n];
}
if (highest_temp2 < lastweektemp [n])
{
highest_temp2 = lastweektemp [n];
}
accumulated_temp1 = accumulated_temp1 + temperatures[n];
accumulated_temp2 = accumulated_temp2 + lastweektemp [n];
}
cout << endl << " Day This Week Last Week" << endl;
for (n=0; n<7; n++)
{
cout << n+1 << temperatures[n] << lastweektemp[n] << endl;
}
system("CLS");
cout << " Weather Report" << endl;
cout << " --------------" << endl << endl;
cout << "Current Week: " << endl;
cout << "-------------" << endl;
for (n=0; n<7; n++)
{
cout << "Day " << n+1 << ": " << temperatures[n] << endl;
}
cout << endl << " Average: " << accumulated_temp1/7 << endl;
cout << " Highest Temperature: " << highest_temp1 << endl;
cout << "Last Week: " << endl;
cout << "----------" << endl;
for (n=0; n<7; n++)
{
cout << "Day " << n+1 << ": " << lastweektemp[n] << endl;
}
cout << endl << " Average: " << accumulated_temp2/7 << endl;
cout << " Highest Temperature: " << highest_temp2 << endl;
system("PAUSE");
}
在本週的最高溫度是24,但它正在打印「最高溫度:3.45857e + 032」
這個確切的「錯誤代碼」的出現我每次運行程序時它不會改變。
我是一個新手,所以我爲什麼不能上傳照片。
任何幫助,將不勝感激。我在大學裏做了一個小任務。這是我的第一個問題,所以很容易!
_前初始化變量「是新手所以我爲什麼不能上傳照片。」 _所以,你可以在這裏你的錯誤代碼的文本複製到你的問題。無論如何,我們不想把它當作照片。 – 2014-12-04 14:29:41
在調試器中遍歷代碼,以確切地查看使用未初始化變量的位置。另外,啓用編譯器警告來告訴你同樣的事情。 – 2014-12-04 14:48:31