Jump to content
Fórum Script Brasil
  • 0

AJUDA SWITCH


Talis TF

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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

Edited by Prog_Junior
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...