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

AJUDA SWITCH


Talis TF

Pergunta

Olá pessoal, gostaria de tirar uma dúvida estou começando agora em programação e tentei fazer um SWITCH CASE.

MAS DA ERRO E EU NÃO ENCONTRO O ERRO.

ALGUÉM PODE ME AJUDAR?

OBRIGADO!

#include <stdio.h>
#include <stdlib.h>

int main(){

    int op;
    int a;
    int x;

    printf("\tEscolha a opcao desejada!\n\n");
    printf("1 - Multiplicar (Valor x 1);\n");
    printf("2 - Multiplicar (Valor x 2);\n");
    printf("3 - Multiplicar (Valor x 3);\n");
    printf("4 - Multiplicar (Valor x 4)\n");
    printf("5 - Para sair do programa;\n");
    scanf("%d", &op);
    scanf("Digite um valor para calcular: %d", &x, "\n");


    switch(op){

        case 1:
            int a = x + 1;
            printf("O resultado da soma e: ",a"\n");
            break;
        case 2:
            a = x * 2;
            printf("O resultado da soma e: ", a"\n");
            break;
        case 3:
            a = x * 3;
            printf("O resultado da soma e: ", a"\n");
            break;
        case 4:
            a = x * 4;
            printf("O resultado da soma e: ", a"\n");
            break;
        case 5:
            exit(0);
            break;
        default:
            printf("Opcao inexistente");
    }

    return 0;

    system("pause");

}

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Opa, seu código tem alguns erros, normais de quem está iniciando, mas vou te explicar!

1) Aqui você tentou digitar e ler um número na mesma linha está errado, para cada printf , utilize um scanf...

scanf("Digite um valor para calcular: %d", &x, "\n");
2)Dentro de cada case, faltou você separar por vírgual a variável "a" de "\n":
printf("O resultado da soma e: ",a"\n");
3) No final, não estava aparecendo a "tela", pois você colocou o comando "system(pause)", após o return 0. Deveria ser ao contrário ficando assim:
system("pause");
 return 0;
4) Procure inicializar as variáveis no inicio de cada programa com 0(zero), para evitar que pegue algum "lixo da memoria".Faça isso para variaveis inteiras. 5) E por último, segue o seu código arrumado e o melhor de tudo, está funcionando.... Abraço
#include <stdio.h>
#include <stdlib.h>


int main(){

    int op=0;
    int a=0;
    int x=0;
    
                 
     printf("\tEscolha a opcao desejada!\n\n");
     printf("1 - Multiplicar (Valor x 1);\n");
     printf("2 - Multiplicar (Valor x 2);\n");
     printf("3 - Multiplicar (Valor x 3);\n"); 
     printf("4 - Multiplicar (Valor x 4)\n");
     printf("5 - Para sair do programa;\n");
     scanf("%d",&op);  


    switch(op){
              
        case 1:
            printf("Digite um valor para calcular:");
            scanf("%d",&x); 
            a = x + 1;
            printf("O resultado da soma e: %d\n",a);
            break;
        case 2:
            printf("Digite um valor para calcular:");
            scanf("%d",&x); 
            a = x * 2;
            printf("O resultado da multiplicacao e: %d\n",a);
            break;
        case 3:
            printf("Digite um valor para calcular:");
            scanf("%d",&x); 
            a = x * 3;
            printf("O resultado da multiplicacao e: %d\n",a);
            break;
        case 4:
            printf("Digite um valor para calcular:");
            scanf("%d",&x); 
            a = x * 4;
            printf("O resultado da multiplicacao e: %d\n",a);
            break;
        case 5:
            printf("Encerrando Programa...\n");
            system("pause");        
            exit(0); 
        default:
            printf("Opcao inexistente");
    }//switch

  
    system("pause");
    return 0;

}//main

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

  • 0

Opa amigo, fiz uma modificação também em seu código, e funcionou perfeitamente aqui.

#include <stdio.h>
#include <stdlib.h>

int main(){

int op=0,r=0,x=0;

    printf("Escolha a opcao desejada!\n\n");
    printf("\t1 - Multiplicar (Valor x 1)\n");
    printf("\t2 - Multiplicar (Valor x 2)\n");
    printf("\t3 - Multiplicar (Valor x 3)\n");
    printf("\t4 - Multiplicar (Valor x 4)\n");
    printf("\t5 - Para sair do programa\n");
    scanf("%d", &op);
    system("cls");
           if (op==5){
           system("pause");
           return 0;
                     }
                     
           if (op>=6){
           printf("Opção Invalida!\n\n");
           system("pause");
           return 0;
                          }
           else 
    printf("Digite um valor para calcular: ");
    scanf("%d", &x);
    system("cls");
               


    switch(op){
        case 1:
            r = x*1;
            printf("O resultado da soma e: %d", r);
            break;
        case 2:
            r = x*2;
            printf("O resultado da soma e: %d", r);
            break;
        case 3:
            r = x*3;
            printf("O resultado da soma e: %d", r);
            break;
        case 4:
            r = x * 4;
            printf("O resultado da soma e: %d", r);
            break;
    }

    printf("\n\n");
    system("pause");

}

Link para o comentário
Compartilhar em outros sites

  • 0

a parte scanf tem dois erros o primeiro e q você coloco um texto nele lol, use um printf antes para digitar os textos, o segundo erro \n depois da variavel

ERRADO

scanf("Digite um valor para calcular: %d", &x, "\n");

Certo

printf("Digite um valor para calcular: ");

scanf("%d", &x);

na parte depois do case 1, não é necessario colocar o tipo int

[b]ERRADO[/b]

int a = x + 1;

[b]CERTO[/b]

a = x + 1;
na linha de baixo os printf tem dois erros, o primeiro é q você não especifico o tipo de dado que ele vai ler por exemplo tipo inteiro é %d, string %s, float %f, o segundo erro é o \n depois da variavel para ficar certo você deve colocar la dentro junto com o texto veja
[b]ERRADO[/b]

printf("O resultado da soma e: ",a"\n");

[b]CERTO[/b]

printf("O resultado da soma e: %d",a);
outra coisa o system("pause") deve vim antes do return, veja o a source certa
//corrigido by hacker fts315
#include <stdio.h>
#include <stdlib.h>

int main(){

    int op;
    int a;
    int x;

    printf("\tEscolha a opcao desejada!\n\n");
    printf("1 - Multiplicar (Valor x 1);\n");
    printf("2 - Multiplicar (Valor x 2);\n");
    printf("3 - Multiplicar (Valor x 3);\n");
    printf("4 - Multiplicar (Valor x 4)\n");
    printf("5 - Para sair do programa;\n");  
    scanf("%d", &op);
    printf("Digite um valor para calcular: ");
     scanf("%d", &x);

    switch(op){

        case 1:
            a = x + 1;
            printf("O resultado da soma e: %d \n",a);
            break;
        case 2:
            a = x * 2;
            printf("O resultado da soma e: %d \n", a);
            break;
        case 3:
            a = x * 3;
            printf("O resultado da soma e: %d \n", a);
            break;
        case 4:
            a = x * 4;
            printf("O resultado da soma e: %d \n", a);
            break;
        case 5:
            exit(0);
            break;
        default:
            printf("Opcao inexistente");
    }
    system("pause");
    
    return 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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...