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

exercicio em C usando "switch"


DaNi_Surfer

Pergunta

Exercicio: Pretende-se construir um programa que tenha um menu. O programa deverá executar uma acção quando digitamos a opção desejada, e deverá voltar ao menu.

#include <stdio.h>

int main(){

int a;

printf("1 - Impreme Letra \n");

printf("2 - Impreme Numero \n");

printf("3 - Impreme Outros \n");

printf("0 - Sair \n");

printf("Digite um numero:");

scanf("%d",&a);

printf("\n");

while(a!=0){

switch(a){

case 1:

{

printf("L \n");

break;

getchar();

}

case 2:

{

printf("50");

break;

getchar();

}

case 3:

{

printf("%");

break;

getchar();

}

}

}

return 0;

}

O problema é que depois de digitado o numero ele repete sucessivamente a letra ou numero e não volta para o menu.

alguém ajuda ae?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Primeiramente se o usuario digitar qualquer coisa diferente de 0 ela estará pedindo para imprimir um numero ou um letra certo? Mas depois de imprimir você tá voltando no while q testa a variavel a, e se entrou uma vez nesse loop ele não sai mais pois o valor de a não é mudado dentro do while.

Para você voltar para o menu use um do-while, assim vai passar pelo menu pelo menos uma vez, assim enquanto o usuario não escolher a opição 0 ele fica voltando para o menu.

Espero ter ajudado =)

Link para o comentário
Compartilhar em outros sites

  • 0

Tudo que deve repetir deve ficar dentro do loop!

Assim desde o primeiro printf que exibe o menu deve estar lá dentro. E como foi dito: como não foi digitado nada ainda o ideal é mesmo usar um do-while.

Quando ao switch: após o break o programa sai do switch então qualquer coisa que estiver a seguir nunca será executado! Ou remova este código ou então coloque-o antes do break.

Link para o comentário
Compartilhar em outros sites

  • 0

Sou novo aidna em programação C aprendendo ainda ^^ Mas faço desse jeito no caso que você apresentou.

#include <stdio.h>

#include <stdlib.h>

#include<conio.h>

main(){

int a;

do{

system("cls");

printf("1 - Impreme Letra \n");

printf("2 - Impreme Numero \n");

printf("3 - Impreme Outros \n");

printf("0 - Sair \n");

printf("Digite um numero:");

scanf("%d",&a);

printf("\n");

switch(a){

case 1:

{

printf("L \n");

break;

}

case 2:

{

printf("50");

break;

}

case 3:

{

printf("%");

break;

}

}

getch();

} while (a!=0);

}

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,2k
    • Posts
      652k
×
×
  • Criar Novo...