c++ - 如何检查用户的输入是否既有效又是我正在寻找的数字?
问题描述
我如何创建一个条件语句来防止进入失败状态,并在数据无效或数据不是 1、2、3 或 4 时向用户询问新数据?
int choice;
while ( !choice || choice != 1 || 2 || 3 || 4){
cout << "Entry Invalid. Enter again: ";
cin >> choice
}
例如,如果用户输入“f”,则将处理失败状态,程序将请求新数据。当他们输入 5 时,程序会说“Not a valid number”,并要求输入新数据。
解决方案
因为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;
推荐阅读
- python - 在 Python 函数中修改列表
- tensorflow - tensorflow2.3+keras2.4 的模型精度低于 tensorflow1.15+keras2.3
- arrays - array[x, y] 是一个有效的 C 表达式吗?
- databricks - Databricks“导入失败并出现错误:服务不可用”
- mysql - 参考父表的 SQL 子查询给出“'where 子句'中的未知列'test_results.id'”
- python - 在 PyQt5 上的标签内添加标签
- primefaces - 选择一个菜单包括搜索primefaces
- python - 在 Altair 中更改误差线厚度
- wpf - 将 x:Name 属性添加到用户控件内的用户控件声明后出现“未定义类型”错误
- python - 您如何让 Finviz 显示特定股票的更多新闻头条?