在屏幕上显示保存的字符值

C++: Displaying a saved char value to screen

本文关键字:字符 保存 显示 屏幕      更新时间:2023-10-16

无论何时运行下面的c++程序,我都会得到相同的输出,即" A ",即使我输入的等级值是84或76。我很困惑为什么输出总是"A",而不是等级字母值,它应该基于数字等级输入。我知道这很可能是我代码中的逻辑错误,但我似乎不明白为什么。

char letterGrade;
int scoreGrade;
cout << "Enter Course Name: ";
cin >> courseName;
cout << "Score Grade Recieved: ";
cin >> scoreGrade;
while (scoreGrade < 0 || scoreGrade > 100) {
    cout << "Invalid Entry, Enter Score Grade: ";
    cin >> scoreGrade;
}
if (scoreGrade >= 90 || scoreGrade <= 100) {
    letterGrade = 'A';
}
else if (scoreGrade >= 80 || scoreGrade < 90) {
    letterGrade = 'B';
}
else if (scoreGrade >= 70 || scoreGrade < 80) {
    letterGrade = 'C';
}
else if (scoreGrade >= 60 || scoreGrade < 70) {
    letterGrade = 'D';
}
else
    letterGrade = 'F';
cout << letterGrade;

您的条件每次都被求值为true。

if (scoreGrade >= 90 || scoreGrade <= 100)
无论输入什么值,

的计算结果都为true。也就是说如果这个值大于等于90或者小于100。你应该使用&&操作符,而不是将语句更改为大于或等于90且值小于100