Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

com "swicth" o código ficou enorme, quais melhores situações para usar ?

Fazendo o exercício não sei pq resolvi usar o switch , veio a cabeça de que como tem mais de 3 opções ia ficar mais fácil de ler ao invés de ficar colocando "else if, else if, else if". Porém ao colocar a resposta e ver a solução do instrutor, realmente senti ter perdido tempo desnecessário rsrs.

Quais são as melhoras ocasiões para usar o swicth ao invés de if(else if, else) e vice versa?

meu código a baixo:

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


int main() {
    setlocale(LC_ALL,"portuguese");

    int n1,n2;
    int operacao;
    int resultado;


    printf("Bem vindo a calculadora, escolha umas das operações\n\n");
    printf("1-SOMA, 2-SUBTRAÇÃO, 3-MULTIPICAÇÃO, 4-DIVISÃO\n");
    scanf("%d", &operacao);

    switch (operacao)
    {
            case 1:
                printf("SOMA! Digite a baixo o primeiro numero.\n");
                scanf("%d", &n1);
                printf("Digite agora o segundo numero.\n");
                scanf("%d", &n2);

                resultado = n1+n2;
                printf("O resultado da operação  %d+%d = %d\n", n1,n2,resultado);


            case 2:
                printf("SUBTRAÇÃO! Digite a baixo o primeiro numero.\n");
                scanf("%d", &n1);
                printf("Digite agora o segundo numero.\n");
                scanf("%d", &n2);

                resultado = n1-n2;
                printf("O resultado da operação  %d-%d = %d\n", n1,n2,resultado);
            break;

            case 3:
                printf("MULTIPLICACÃO! Digite a baixo o primeiro numero.\n");
                scanf("%d", &n1);
                printf("Digite agora o segundo numero.\n");
                scanf("%d", &n2);

                resultado = n1*n2;
                printf("O resultado da operação  %dx%d = %d\n", n1,n2,resultado);
            break;

            case 4:
                printf("DIVISÃO! Digite a baixo o primeiro numero.\n");
                scanf("%d", &n1);
                printf("Digite agora o segundo numero.\n");
                scanf("%d", &n2);

                resultado = n1/n2;
                printf("O resultado da operação  %d/%d = %d\n", n1,n2,resultado);
            break;    

           default:
                   printf("OPÇÃO INVÁLIDA!!!!!!\n\n\n\n");
     } 





    system ("pause");
    return 0;
}
3 respostas
solução!

Olá Pedro, tranquilo?

Na parte II do curso é apresentado uma forma que você conseguirá reduzir bastante esses trechos de código repetido (funções). Verá que com elas seu código ficará bem mais enxuto.

Blz ^^.

Estou fechando o tópico. Ok?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software