防止分数输入C++
我正在为一个课堂完成作业,该课堂的提示说明分数是不允许的,比如8.3分 另一个要求是不允许分数<0或分数>10 我认为我能够成功地通过考试,因此课程不允许分数<0或>10,但我不知道如何不接受分数防止分数输入C++,c++,user-input,C++,User Input,我正在为一个课堂完成作业,该课堂的提示说明分数是不允许的,比如8.3分 另一个要求是不允许分数10 我认为我能够成功地通过考试,因此课程不允许分数10,但我不知道如何不接受分数 int getJudgeData(string judge) { double input = -1; while ( input < 0 || input > 10 ) { cout << "Enter the score from " <<
int getJudgeData(string judge)
{
double input = -1;
while ( input < 0 || input > 10 )
{
cout << "Enter the score from " << judge <<endl;
cin >> input;
}
return input;
}
是否可以只接受整数,同时将输入限制为0-10-
if (floor(input) == input)
//number is not fractional.
要排除分数…为什么不简单地将输入声明为int?您正在从函数返回int,所以我很困惑,为什么你要从输入流中读取一个双精度。我试图将输入更改为int,但是如果我输入一个数字,比如8.3,应用程序会不断地询问judge 2 score@user3363195:如果你输入一个数字,比如AZQ,它与8.3是0到10之间的整数一样多,应用程序也会做同样的事情。使用int,并添加错误恢复。
int getJudgeData(string judge)
{
double input = -1;
while( input < 0 || input > 10 || (input - (int)input) > 0 )
{
cout << "Enter the score from " << judge <<endl;
cin >> input;
}
return input;
}