-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)...否则...' –