作业:您还需要检查成绩用户是否在0到100之间输入了ID。如果没有,请打印错误消息并退出。不确定他的确切含义是什么导致用户可以自己退出,也可以意味着abort();?
所以我想知道是否有可能只用它发布“对不起但你输入的号码无效,请输入1到100之间的任何数字”
#include <iostream>
using namespace std;
int main(){
int grade;
cout << "What is your grade? ";
cin >> grade;
if(grade>100){
cout << "Sorry but the number you entered is invalid, please enter any number between 1 - 100";
}
else if(grade>=90){
cout << "You have an A in the class" << endl;
}
if(grade<90){
cout << "You have an B in the class" << endl;
}
else if(grade>=80){
}
if(grade<80){
cout << "You have an C in the class" << endl;
}
else if(grade>=70){
}
return 0;
}
答案 0 :(得分:0)
结合比较表达式:
if ((grade < 0) || (grade > 100))
{
// Invalid grade
}
else
{
// Process grade
}
答案 1 :(得分:0)
使用
if(grade>100){
cout << "Invalid" << endl;
}
else if(grade>=90){
cout << "You have an A in the class" << endl;
}
你的问题是你只需加载一些if语句,其中任何一个都可以匹配。您需要在第一个之后为每个语句添加一个else语句,以确保它只匹配一个。
虽然<100> 仅失败点?如果&lt; 0怎么办?还是一封信?
使用return 0;
if(grade>100){
cout << "Invalid" << endl;
return 0;
}
if(grade>=90){
cout << "You have an A in the class" << endl;
return 0;
}
If-Else-If就我而言总是更可取。
if (grade > 100 || grade < 0)
{
// error
}
else if (grade > 90)
{
}
else if (grade > 80)
{
}
else if (grade > 70)
{
}
else
{
// failed
}
如果您将其视为连续的事件链。如果第一个不匹配,则检查下一个然后检查下一个,依此类推,直到失败为止。一旦找到匹配,则不会处理任何后续的其他语句,应用程序将退出。如果你以75为例。它将失败&gt; 90和&gt; 80然后通过&gt; 70,此时它将结束。