[英]How to create a loop for user input until user enters valid input
本节代码应该显示一个带有两个选项的菜单,读取输入并转到相应的功能。 如果用户输入的不是1和2,则程序应警告用户并显示菜单,要求用户再次输入输入。 该过程将一直重复进行,直到用户输入正确的输入为止。
我试图找到一种仅当用户输入1和2以外的内容时重复循环的方法(以便用户这次可以输入适当的响应)。
但是,当我使用这样的while循环时,无论输入是什么,它都会循环。
任何帮助深表感谢。
char input;
displayWellDoneMenu();
scanf("%c", &input);
while (input != '1' || input != '2')
{
printf("You must select 1 or 2!\n");
displayWellDoneMenu();
scanf("%c", &input);
rewind(stdin);
system("cls");
}
switch (input)
{
case'1':
additionIntermediate();
break;
case '2':
main();
break;
}
char input;
do
{
displayWellDoneMenu();
scanf("%c", &input);
system("cls");
if (c=='1' || c=='2')
break;
printf("You must select 1 or 2!\n");
}while(1);
switch (input)
{
case'1':
additionIntermediate();
break;
case '2':
main();
break;
}
这可能是一个想法:
while(1){
scanf("%c", &input);
if(input == '1' || input == '0') break;
// else continue cycle
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.