如何检查用户的输入是否有效以及我正在寻找的数字?

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;

以上是关于如何检查用户的输入是否有效以及我正在寻找的数字?的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 检查时区名称是不是有效

如何使用 getchar 监控用户输入

如何使用Python检查数字是否为32位整数?

如何检查输入数字整数是不是不浮动?

在这种情况下,如何正确检查用户输入是否为Integer?

Python/FLASK - html 表单返回字符串。如何检查它是不是包含数字?