C ++中的“期望的语句”是什么意思

时间:2019-02-18 13:02:14

标签: c++

我已经在Visual Studio中的C ++中输入了if else代码,它表明在Else和Else if中应该有一条语句

我的代码是

#include <iostream>
using namespace std;
int main()

{
float marks, result;
cout << "Enter your Marks:";
cin >> marks;
if(marks>=50 && marks <= 100);
{
    cout << "Passed";
}
else if (marks < 50 && marks>=0);
{
    cout << "The grade is F ";
}
else
{
    cout << "Enter marks correctly";
}
}

output is


Enter your marks:97
passedenter marks correctly

if和in else中的两个语句都打印为什么??

1 个答案:

答案 0 :(得分:4)

问题是在这里

if(marks>=50 && marks <= 100);

您有不应该存在的;。因此,;if语句的主体。这意味着“什么都不做”。结果,以下

{
    cout << "Passed";
}

...与if语句无关,将始终执行。之后就是这个:

else if (marks < 50 && marks>=0);

这里有同样的问题,但是else无法编译,因为之前没有if。请记住,else之前的代码块错误地不是if的一部分。相反,您想要的是这样:

if(marks>=50 && marks <= 100)
{
    cout << "Passed";
}
else if (marks < 50 && marks>=0)
{
    cout << "The grade is F ";
}
else
{
    cout << "Enter marks correctly";
}