0

我到处寻找,但似乎找不到并实现只接受整数的输入验证,我的代码运行得非常好,但我唯一的问题是,由于我添加了验证代码,它需要用户输入两次在它接受第二个输入之前,我想要的只是用户只需输入一次并进行良好的验证,以便程序识别它不是 int 并显示适当的消息,我非常感谢任何帮助!

这是我的代码:

cout<<"Please enter your first value: \n";
cin>>a;

//Error checker to check if input is a number
while(!(cin >> a))
{    
    cin.clear();
    std::cin.ignore(numeric_limits<streamsize>::max(), '\n');
    cout << "Invalid input. Please Try again: "<<endl;
}
4

1 回答 1

1

您尝试cin>>a在循环之前执行一次while,然后在 while 循环条件下再次执行。只需删除初始提取。

cout<<"Please enter your first value: \n";
// cin>>a; <- remove this

//Error checker to check if input is a number
while(!(cin >> a))
于 2013-04-19T23:54:49.487 回答