-4
在我的年級平均代碼中,我有字母等級a,b,c,d和f,但是當我嘗試運行它時,這是因爲我的信沒有在這個範圍。我不知道這是什麼意思。'c'未在此範圍內聲明
這裏是我的代碼:
#include<iostream>
using namespace std;
string average(int g);
int main()
{
int grade;
cout << "Enter your grade:" << endl;
cin >> grade;
cout << "Your grade is a" << average(grade) << "!" << endl;
return 0;
}
string average(int g)
{
if (g >= 90 && g <= 100)
{
return a;
}
else if(g >= 80 && g <90)
{
return b;
}
else if (g > 70 && g < 80)
{
return c;
}
else if (g == 70)
{
return d;
}
else if (g < 70)
{
return f;
}
return 0;
}
嘗試'返回「a」'而不是'返回a'。在第一種情況下,它返回等級字符串/文本「a」。在第二種情況下(在你的原始代碼中),它試圖尋找不在範圍內的變量'a'。這就是它向你投訴的抱怨。 – kaza
這並沒有解決這個問題,但是你不需要'if ... else if'梯形圖中的所有'<'檢查。如果g是95,則第一個分支將被採用,而第二個分支中的g <90不起作用。第二次測試在所有其他表達式中都是相同的。所以:如果(g> = 90)...否則如果(g> = 80)...否則如果(g> = 70)...否則...' –