函数或条件错误,在getval()的右花括号处出现错误可能是由于while循环中的条件造成的,但为什么请告诉错误原因,在这个问题中我需要输入5个测试从0到100之间的用户评分,这就是为什么我包含getval()中循环的某些条件,如果我排除do while循环,然后程序运行正常,请告诉我错误的原因。函数或条件错误
#include <iostream>
using namespace std;
int sub1, sub2, sub3, sub4, sub5, lwst;
void getval()
{
do{
cin >> sub1;
cin >> sub2;
cin >> sub3;
cin >> sub4;
cin >> sub5;
} while ((sub1 < 101 && sub1 >= 0) &&
(sub2 < 101 && sub2 >= 0) &&
(sub3 < 101 && sub3 >= 0) &&
(sub4 < 101 && sub4 >= 0) &&
(sub5 < 101 && sub5 >= 0)
)
}
int findlowest()
{
int s1 = sub1;
int s2 = sub2;
int s3 = sub3;
int s4 = sub4;
int s5 = sub5;
int temp = 0;
while (s1&&s2&&s3&&s4&&s5)
{
s1--;
s2--;
s3--;
s4--;
s5--;
temp++;
}
return temp;
}
void calavg()
{
cout << "average is " << (sub1 + sub2 + sub3 + sub4 + sub5 - lwst)/4;
}
int main()
{
cout << "enter the test score , marks from 0 to 100\n";
getval();
lwst = findlowest();
calavg();
return 0;
}
* *什么错误?请始终包含您收到的错误消息。还要正确缩进代码,以便更好地遵循它。 –
您在'getval'中的while-condition的最后一个右括号之后错过了一个分号。你也完全忽略了任何IO错误,但这是一个不同的问题。 – WhozCraig
此代码充斥着全局变量,并且违反了[Zero,One或Infinity Rule](https://en.wikipedia.org/wiki/Zero_one_infinity_rule)。如果这些整数值意图相关,则使用“std :: vector”。 – tadman