У меня есть меню, одним из вариантов является выход из программы, но если пользователь вводит символ, отличный от 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;
}
do ... while loop? Одна из первых вещей в книге C –
Подсказка. Пользователь может вводить несколько раз несколько раз, и вам нужно будет показывать меню. Поэтому вы хотите поставить оператор switch в цикле. Выйдите из цикла, когда вход правильный. –
A do while loop? @SteveWellens ?? –