我有一个程序要求用户输入 [0,2] 范围内的整数。我使用以下链接作为指南。
但是,当用户在不输入数据的情况下按下回车键时,光标只会转到命令提示符中的下一行,而我更希望它提示用户输入有效数字。在这种情况下提示用户是否有意义,或者是否有理由不将验证作为单行输入开始?在字符串的情况下,我会使用 getline 来解决这个问题,在这种情况下我应该以某种方式使用它吗?这是我的代码,基于上面的链接:
#include <iostream>
int main()
{
int answeredNumber;
while(1)
{
std::cout << "Enter your answer: ";
if(std::cin >> answeredNumber && answeredNumber >= 0 && answeredNumber <= 2)
{
break;
}
else
{
std::cout << "Please enter a valid answer: " ;
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
}
system("pause");
}