如何停止显示来自其他的消息if else

时间:2015-02-03 23:53:17

标签: c++

嗨,因为你可以看到我对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;

}

3 个答案:

答案 0 :(得分:1)

score > 100score < 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语句。这些检查是否第一个语句不起作用,然后检查下一个语句是否有效,如果没有,则不运行。