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

时间:2017-06-27 14:43:37

标签: c loops while-loop

这段代码应该显示一个带有两个选项的菜单,读取输入并转到相应的功能。如果用户输入的不是1和2,程序应该警告用户并显示菜单以要求用户再次输入输入。此过程将一直重复,直到用户输入正确的输入。

我试图找到一种方法来重复循环,只有当用户输入1和2以外的东西时(这样用户才能输入相应的响应)。

然而,当我像这样使用while循环时,无论输入是什么,它都会循环。

非常感谢任何帮助。

{$item. field_type}

2 个答案:

答案 0 :(得分:0)

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;
}

答案 1 :(得分:0)

这可能是一个想法:

while(1){
    scanf("%c", &input);
    if(input == '1' || input == '0') break;
    // else continue cycle
}