带有选择的菜单列表
Menu list with choices
我正在尝试在程序中列出一个选择列表,现在我会遇到用户写入不正确输入时发生的情况。
我尝试使用 do 循环(我已经循环开关语句(进行操作。另外,尝试将变量键设置为整数和char,但都有问题。 char 仅拿一个字符,当您编写多个字符时,它会开始自行检查每个字符。使用 int 我在输入错误时会获得菜单函数的无限循环。
另外,我在stackoverflow中找到了使用 cin.fail((的尝试,但它没有奏效。
void menu()
{
if(!isEmpty())
{
showStack();
}
else
{
cout << "stekas tuscias!" << endl;
}
cout << "---------------------------" << endl;
cout << "1. Iterpti i steka (push)" << endl;
cout << "2. Pasalinti is steko (pop)" << endl;
cout << "3. Issaugoti steka" << endl;
cout << "4. Issaugoti steka ir uzdaryti programa" << endl;
cout << "---------------------------" << endl;
cout << "Jusu pasirinkimas: ";
char key;
cin >> key;
switch(key)
{
case '1':
{
cout << "Irasykite reiksme i konsole: ";
int data;
cin >> data;
cout << endl;
push(data);
break;
}
case '2':
{
cout << endl;
pop();
break;
}
case '3':
{
write();
cout << "--------" << endl;
cout << "Stekas issaugotas!" << endl;
cout << "--------" << endl;
menu();
break;
}
case '4':
{
write();
break;
}
default:
{
cout << "Tokio pasirinkimo nera!" << endl;
cout << endl;
key = ' ';
menu();
break;
}
}
}
如果需要:https://pastebin.com/xv1he0mh
使用一个尝试键入块。使用dectType或typeof功能查看输入是整数。
我确定为什么cin.fail((或(!cin(对您不起作用。但是,您可以做到这一点。而且,我也确定存在这种问题。
template <class T>
int check (T ch)
{
if (ch >= 'a' && ch <= 'Z') return 0;
else return 1;
}
,然后。
main ()
{
.
.
char c;
cin.get (c); //Note here!!
if (check (c)) {...}
else {...} //You can use goto.
.
}
相关文章:
- Pybind11:将元组列表从Python传递到C++
- 从链接列表c++中删除一个项目
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- C++如何通过用户输入删除列表元素
- 读取文件的最后一行并输入到链接列表时出错
- 复制列表初始化的隐式转换的等级是多少
- LNK2038、MSVS2017 MAGMA的原因列表
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 没有为自己的结构调用列表推回方法
- 使用简单类型列表实现的指数编译时间.为什么
- 一对向量构造函数:初始值设定项列表与显式构造
- 带有选择的菜单列表
- 如何在列表控件中创建右键单击菜单
- 在列表或菜单中列出捕获设备
- 返回主菜单(嵌套列表,c ++)
- 在C++中检索Windows中的菜单项列表
- MFC对话框菜单中可用com端口列表
- 用c++编写一个菜单程序,让用户从选项列表中进行选择,如果输入的不是其中一个选项,则重新打印该列表
- C++ Windows 显示游戏中加载菜单的现有目录列表
- 如何在列表框上右键创建上下文菜单