嗨,因为你可以看到我对c ++的新鲜感。我应该编写一个输入成绩的程序,然后在得分大于或等于50时显示通过,否则失败。此外,如果分数小于0或大于100,则应显示错误消息。但是,每当我输入大于100或小于0的分数时,它都会显示“通过/失败”以及错误消息。我需要它只显示错误信息,如果它大于100或小于0.这是我到目前为止所做的。
#include <iostream>
using namespace std;
int main()
{
int score;
cout << "Please enter the score." << endl;
cin >> score;
if (score > 100)
cout << "Invalid Score." << endl;
if (score < 0)
cout << "Invalid Score.";
if (score >= 50)
cout << "Pass" << endl;
else
cout << "Fail." << endl;
cout << endl;
return 0;
}
答案 0 :(得分:1)
score > 100
和score < 0
都做同样的事情,因此您可以将它们与逻辑或运算符if
合并为一个||
语句:
if( score > 100 || score < 0 )
cout << "Invalid Score." << endl;
然后,您可以将else if
用于其他条件:
if( score > 100 || score < 0 )
cout << "Invalid Score." << endl;
else if( score >= 50 )
cout << "Pass" << endl;
else
cout << "Fail." << endl;
答案 1 :(得分:1)
如果它符合其中一个失败标准,您不希望继续检查另一个案例。因此,对所有事情使用else案例。
int main()
{
int score;
cout << "Please enter the score." << endl;
cin >> score;
if (score > 100)
cout << "Invalid Score." << endl;
else if (score < 0)
cout << "Invalid Score.";
else if (score >= 50)
cout << "Pass" << endl;
else
cout << "Fail." << endl;
cout << endl;
return 0;
}
答案 2 :(得分:0)
提示使用else-if语句。这些检查是否第一个语句不起作用,然后检查下一个语句是否有效,如果没有,则不运行。