防止分数输入C++

防止分数输入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 " <<

我正在为一个课堂完成作业,该课堂的提示说明分数是不允许的,比如8.3分 另一个要求是不允许分数<0或分数>10

我认为我能够成功地通过考试,因此课程不允许分数<0或>10,但我不知道如何不接受分数

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;
}