我当时正在为我的计算机科学课编写一个程序,我想制作一个菜单,该菜单会重复一次,每次都要求输入新的信息。
当我输入一个整数值时,这可以正常工作。但是,当我输入一个字母值(例如“ a”)时,尽管我希望防止scanf()无限循环,但while循环开始无限循环地运行。我知道我没有在循环中休息,但是我只是想弄清楚输入非整数值时如何处理无限循环。这是我的代码:
while (1) {
printf("Select one of the following:\n[1] Product Management\n[2] File Creation\n[3] Exit Program\n");
int op1 = 0;
cout << op1 << endl;
scanf("%d", &op1);
if (op1 != 1 || 2 || 3) {
cout << "Please enter one of the options provided." << endl;
}
}
我希望此操作在重复一次后在scanf()处停止,但是当输入非整数值时,它将无限期地运行。我是编码新手,感谢您的提前帮助