如何检查用户的输入是否有效以及我正在寻找的数字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查用户的输入是否有效以及我正在寻找的数字?相关的知识,希望对你有一定的参考价值。
如何创建阻止进入失败状态的条件语句,并在数据无效或数据不是1,2,3或4时向用户询问新数据?
int choice;
while ( !choice || choice != 1 || 2 || 3 || 4){
cout << "Entry Invalid. Enter again: ";
cin >> choice
}
例如,如果用户输入“f”,则将处理失败状态,并且程序将要求新数据。当他们输入5时,程序会说“不是有效数字”,并要求提供新数据。
答案
对于stoi
,您需要C ++ 11标准
int choice;
string inp;
cin >> inp;
while(inp != "1" && inp != "2" && inp !="3" && inp !="4"){
cout << "Wrong input , type again" << endl;
//system("PAUSE");
cin >> inp;
}
choice = stoi(inp);
cout << choice;
另一答案
这个确切的问题让我在第一年遇到了太多麻烦。这应该做你想要的,也许尝试实现最大数量的失败尝试。
int choice = 0;
while (true) {
cout << "Please enter a number between 1 and 4" << endl;
cin >> choice;
if (cin.fail()) {
cout << "Invalid input" << endl;
cin.clear();
cin.ignore(std::numeric_limits<std::streamsize>::max(), '
');
}
else if (choice < 1 || choice > 4) {
cout << "Not a valid number" << endl;
}
else {
break;
}
}
cout << "You chose " << choice << endl;
以上是关于如何检查用户的输入是否有效以及我正在寻找的数字?的主要内容,如果未能解决你的问题,请参考以下文章