繁体   English   中英

如何在用户输入有效输入之前为用户输入创建循环

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM