In meinem Notendurchschnittscode habe ich die Buchstabengrade a, b, c, d und f, aber wenn ich versuche, es auszuführen, war es, dass mein Brief nicht deklariert wurde dieser Bereich. Ich weiß nicht was das bedeutet.'c' wurde nicht in diesem Bereich angegeben
Hier ist mein Code:
#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;
}
versuchen Sie 'return" a "' anstelle von 'return a'. Im ersten Fall gibt es den Notenwert/Text "a" zurück. Im zweiten Fall (in Ihrem ursprünglichen Code) versucht es nach der Variablen "a" zu suchen, die nicht im Gültigkeitsbereich ist. Und das ist die Beschwerde, die es auf dich wirft. – kaza
Das behebt das Problem nicht, aber Sie brauchen nicht all diese '' ''' in der' if ... else if'-Ladder. Wenn "g" 95 ist, wird die erste Verzweigung genommen, und die "g <90" in der zweiten Verzweigung hat keine Wirkung. Das gleiche gilt für den zweiten Test in allen anderen Ausdrücken. Also: 'if (g> = 90) ... sonst if (g> = 80) ... sonst if (g> = 70) ... sonst ...' –