我目前正在研究C++程序,我想检查用户输入是否有效。目前我的代码工作,如果用户输入正确的输入,或者如果用户输入一个不正确的小号码,我的程序会告诉用户输入无效。现在我的问题是,当用户输入多个字符/字母或一个有9个或更多数字的大数字时,我的程序进入一个无限循环,给它们提供错误信息。下面是我的代码:检查有效输入
//for (;;)
while (flag== false)
{
cin >> Input;
if (Input <= choice.size()-1)
{
flag = true;
// break;
}
else
{
cerr << "Input <" << Input << "> is Invalid, Please Choose a Valid Option\n";
userInput = 0;
}
}
正如你看到的,我也试图做的for循环的infinate,但它给了我同样的结果。 在我的代码中,我正在将一个矢量打印到屏幕上。基本上,用户选择矢量值来使用它。
我愿意接受任何建议。谢谢
可能重复http://stackoverflow.com/questions/3273993/how-do-i-validate-user -in-a-double-in-c) – casablanca 2010-11-14 18:28:40