Ang3lo
Power Member
Boas pessoal,
Estou a fazer um trabalho para a universidade e estou com o seguinte problema no menu em c, tenho la as opções numeradas de 1 a 9, funciona tudo direito mas no caso de o utilizador digitar "123" o programa não diz "opção invalida" ao invés disso ele vai para o menu "1" porque é o primeiro carácter que ele lê.
A minha duvida e como fazer ele dizer que a opçao é invalida porque se calhar vou ter de ter uma opçao "10" e se tiver de a usar estou em maus lençois.Estou a fazer o menu com switch cases e os dados de entrada sao do tipo char.
Obrigado desde ja
Estou a fazer um trabalho para a universidade e estou com o seguinte problema no menu em c, tenho la as opções numeradas de 1 a 9, funciona tudo direito mas no caso de o utilizador digitar "123" o programa não diz "opção invalida" ao invés disso ele vai para o menu "1" porque é o primeiro carácter que ele lê.
A minha duvida e como fazer ele dizer que a opçao é invalida porque se calhar vou ter de ter uma opçao "10" e se tiver de a usar estou em maus lençois.Estou a fazer o menu com switch cases e os dados de entrada sao do tipo char.
Obrigado desde ja
void submenu5()
{
char op5;
do
{
system("CLS");
printf("\n****** Pagamento ******\n\n\n");
printf(" 1 - Anuidade\n");
printf(" 2 - Mensalidade\n\n");
printf(" 0 - Sair\n\n");
printf("Opcao: ");
fflush(stdin);
op5=getchar();
switch (op5)
{
case '1':
pagarAnu();
break;
case '2':
pagarMen();
break;
case '0': break;
default : printf("\nOpcao invalida\n");
printf("\n\nPrima uma tecla para continuar");
fflush(stdin);
getchar();
break;
}
}while(op5!='0');
fflush(stdin);
}
exemplo do codigo
Última edição: