【发布时间】:2014-10-24 01:38:41
【问题描述】:
我有一个菜单,其中一个选项是退出程序,但如果用户键入了 1 2 3 4 5 6 以外的字符,它仍然会退出程序或停止运行它。我希望在输入错误字符后菜单再次出现并且用户可以再次键入。如果用户无限地输入错误的字符,我希望这种情况无限地发生。 非常感谢!
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char opcao;
printf("1 - \n");
printf("2 -\n");
printf("3 - \n");
printf("4 - \n");
printf("5 - \n");
printf("6 - Terminar programa\n");
printf("Introduza a sua opcao:\n");
scanf("%c",&opcao);
switch(opcao){
case'1':
printf("Funcionalidade nao disponivel.");
break;
case'2':
printf("Funcionalidade nao disponivel.");
break;
case'3':
printf("Funcionalidade nao disponivel.");
break;
case'4':
printf("Funcionalidade nao disponivel.");
break;
case'5':
printf("Funcionalidade nao disponivel.");
break;
case'6':
exit(0);
default:
printf("invalid input, please type again"); // this is what I want, but how?(now it would present the menu again...
break;
}
return 0;
}
【问题讨论】:
-
做...while循环? C 书籍中的第一件事
-
提示:用户可能多次输入错误,您需要继续显示菜单。所以你想把你的 switch 语句放在一个循环中。输入正确时退出循环。
-
一个做while循环? @SteveWellens??
标签: c menu switch-statement