Ir para conteúdo
Fórum Script Brasil
  • 0

problema com switch


luiz eduardooo

Pergunta

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

  • 0

Cara, elimina aqueles cases um dentro do outro O.o

Pra evitar o problema da diferenciação entre maiúsculas e minúsculas usa a função toupper() da ctype.h pra transformar os caracteres lidos em maiúsculos, antes do switch:

ch = toupper(ch);

mais informações aqui: http://www.cplusplus.com/reference/clibrary/cctype/toupper/

Se não der certo ou ainda tiver dúvidas, poste o código inteiro.

Abraço.

Editado por Arrk
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...