Eu utilizei switch para fazer um menu de uma lista encadeada. So que se eu não digitar nada e der "enter", o programa diz que não é um comando valido (ate ai td bem), mas dps que eu faco isso fica tudo bugado, eu tento digitar um comando valido, o programa fica dizendo que esse comando não existe, ele so volta a funcionar corretamente se eu der um outro "enter" sem digitar nada. Olha o codigo ai:
char q;
do {
scanf("%c", &q);
switch(q) {
case 'a': case 'A': printf("\nComandos:\np Lista todos os contatos da lista.\nb Busca na lista de acordo com o desejado(nome,endereco,...)\n"); printf("i Adciona um novo contato na lista.\nr Remove um contato da lista.\ns Finalizar a execucao do programa.\n"); break;
case 'p': imprima(ini); break;
case 'b': case 'B': busca(ini); break;
case 'i': case 'I': insere(ini); break;
case 'r': case 'R': remove(ini); break;
default: printf("\nO comando '%c' não existe, digite 'a' para a lista de comandos.\n",q);
}
getchar();
} while (q != 's');
}
não sei se deu pra entender bem o q quero dizer, vou tentar exemplificar: O programa inicia, eu aperto enter, aparece "O comando ' ' não existe, digite..." ( ta certo o comando não existe mesmo), depois disso se eu digitar a, aparece "O comando 'a' não existe, digite...", qlq outro comando valido (b,i,r) tb diz que não existe, so volta a funcionar corretamente se eu der um enter sem ter digitado nada.
Tem como concertar isso?? é porque essa lista é um trabalho pra facul, e o prof fica testando tudo, ai vai que o cara da um enter sem digitar nada, ai buga todo meu programa =/
Pergunta
luiz eduardooo
Eu utilizei switch para fazer um menu de uma lista encadeada. So que se eu não digitar nada e der "enter", o programa diz que não é um comando valido (ate ai td bem), mas dps que eu faco isso fica tudo bugado, eu tento digitar um comando valido, o programa fica dizendo que esse comando não existe, ele so volta a funcionar corretamente se eu der um outro "enter" sem digitar nada. Olha o codigo ai:
char q;
do {
scanf("%c", &q);
switch(q) {
case 'a': case 'A': printf("\nComandos:\np Lista todos os contatos da lista.\nb Busca na lista de acordo com o desejado(nome,endereco,...)\n"); printf("i Adciona um novo contato na lista.\nr Remove um contato da lista.\ns Finalizar a execucao do programa.\n"); break;
case 'p': imprima(ini); break;
case 'b': case 'B': busca(ini); break;
case 'i': case 'I': insere(ini); break;
case 'r': case 'R': remove(ini); break;
default: printf("\nO comando '%c' não existe, digite 'a' para a lista de comandos.\n",q);
}
getchar();
} while (q != 's');
}
não sei se deu pra entender bem o q quero dizer, vou tentar exemplificar: O programa inicia, eu aperto enter, aparece "O comando ' ' não existe, digite..." ( ta certo o comando não existe mesmo), depois disso se eu digitar a, aparece "O comando 'a' não existe, digite...", qlq outro comando valido (b,i,r) tb diz que não existe, so volta a funcionar corretamente se eu der um enter sem ter digitado nada.
Tem como concertar isso?? é porque essa lista é um trabalho pra facul, e o prof fica testando tudo, ai vai que o cara da um enter sem digitar nada, ai buga todo meu programa =/
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.