C++编程(If Else 语句)无法正确输出

C++ Programming (If Else Statement) won't output properly

本文关键字:输出 语句 编程 If Else C++      更新时间:2023-10-16

这是我的家庭作业If Else语句,但它并没有按我预期的方式工作。

当我输入82作为分数时,上面写着"你的分数是=ú"。它显示的不是"B",而是我没有声明的字符。其他人也是如此。

代替"A"-@代替"C"-╬代替"D"-(不显示任何内容)代替"F"-"

#include <iostream>
using namespace std;
int main()
{
 int score;
 char grade;
 char A, B, C, D, F;
 cout << "Enter your total score: ";
 cin >> score;
if (score >= 85)
grade=A;
else if (score >= 75)
grade=B;
else if (score >= 65)
grade=C;
else if (score >= 55)
grade=D;
else
grade=F;
   cout << "Your grade is = " << grade << endl;

return 0;
cin.get();
}

提前感谢!!!

您声明了这些变量,但从未将它们设置为任何

char A, B, C, D, F;

你应该给它们赋值

const char A = 'A';
const char B = 'B';
const char C = 'C';
const char D = 'D';
const char F = 'F';

尽管在这种情况下,即使是上述内容也可能是多余的。你可以简单地做

if (score >= 85)
    grade = 'A';
else if (score >= 75)
    grade = 'B';
else if (score >= 65)
    grade = 'C';
else if (score >= 55)
    grade = 'D';
else
    grade = 'F';

然后您可以将char变量全部去掉。

您在未初始化变量的情况下声明了变量:

char A = 'A';
char B = 'B';
...

尝试此代码

#include<iostream.h>
#include<conio.h>
int main()
{
 int score;
  char grade;
  cout << "Enter your total score: ";
  cin >> score;
 if (score >= 85)
 grade='A';
 else if (score >= 75)
 grade='B';
 else if (score >= 65)
 grade='C';
 else if (score >= 55)
 grade='D';
 else
 grade='F';
 cout << "Your grade is = " << grade << endl;
 getch();
 return 0;

}