C++ int switch 语句

Jos*_*eza 5 c++ switch-statement

我在过去的一个半小时里一直在研究整数的开关,我知道如何用 char 进行开关,但这对我来说似乎很难。任何建议将不胜感激。我遇到的问题是我不能接受成绩该开关当前执行的操作超过 100

\n\n
    int testScore;                     \n    cout <<"Enter your test score and I will tell you \\n";\n    cout <<"the letter grade you earned ";\n    cin >> testScore;\n\n    switch(testScore/10)\n{ \n    case 10:\n    case 9:\n        cout <<"Your grade is A.\\n";\n    break;\n    case 8: \n        cout <<"Your grade is B.\\n";\n    break;\n    case 7: \n        cout <<"Your grade is C.\\n";\n        break;\n    case 6: \n            cout << "Your grade is D.\\n";\n        break;\n    case 5: \n            cout << "Your grade is F.\\n";\n        break;\n\n    default:\n        cout << "That score isn\xe2\x80\x99t valid\\n";\n\n    }\n
Run Code Online (Sandbox Code Playgroud)\n

Sey*_*yon 4

你除以 10.0,这是一个双精度数,这将无法编译。必须将其更改为 10。\n此外,您应该在 switch 语句之前使用 if 语句来检查它是否在有效范围内。

\n\n
#include<iostream>\n#include<iomanip>\nusing namespace std;\nint main() \n{\n\nint testScore;\ncout <<"Enter your test score and I will tell you \\n";\ncout <<"the letter grade you earned \\n";\ncin >> testScore;\n\nif (testScore<=100 && testScore>=0)\n    switch(testScore/10)\n    {\n        case 10:\n        case 9:\n            cout <<"Your grade is A.\\n";\n            break;\n        case 8:\n            cout <<"Your grade is B.\\n";\n            break;\n        case 7:\n            cout <<"Your grade is C.\\n";\n            break;\n        case 6:\n            cout << "Your grade is D.\\n";\n            break;\n        case 5:\n            cout << "Your grade is F.\\n";\n            break;\n\n        default:\n            cout << "That score isn\xe2\x80\x99t valid\\n";\n    }\nelse\n    cout <<"That score isn\'t valid\\n";\n\nreturn 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

  • 这应该是一个评论,这并没有回答问题。 (3认同)
  • 在 C++(以及许多其他语言)中,将整数“109”除以整数“10”将返回“10”,这将触发第一个“case”。如果您不希望人们输入大于“100”的数字,则需要在某个地方强制执行。例如,在您使用“cin”和“switch”语句的行之间。 (2认同)