gnu_reis
(usa Slackware)
Enviado em 03/10/2007 - 15:50h
Boa tarde Camaradas!
Estou desenvolvendo um programa e me deparei com o seguinte problema:
Num certo trecho é solicitado que seja feita uma escolha entre a opção 1 ou 2, isso dentro de um laço while, o trecho do programa é:
printf("Fibonacci digite 1 ou primos digite 2: ");
do{
scanf("%c",&opcao);
if(opcao == '1')
fibonacci();
else if(opcao == '2')
primo();
else
printf("Digite novamente: ");
}while(opcao != '1' && opcao != '2');
caso seja digitado um valor inválido, por exemplo 4, a saída fica assim:
Fibonacci digite 1 ou primos digite 2: 4
Digite novamente: Digite novamente:
como se fosse digitado duas vezes, substitui o scanf por getchar, mas continua o mesmo problema.
Se alguem puder me ajudar fico agradecido!