Back
Close

Programação C

MarcoVaz
390.5K views

Estrutura Condicional switch...case

A estrutura switch...case representa de uma maneira mais simples o encadeamento de IF´s. É uma forma de reduzir a complexidade de vários if … else encadeados. O conteúdo da variável da cláusula switch é comparado com os valores constantes das cláusulas case, e caso uma das comparações seja verdadeira, o comando associado é executado (somente esse comando). Caso nenhuma comparação seja Verdadeira, a estrutura executará a cláusula default.

switch (variável)
{
   case constante1:
     comandosA;
   break;

   case constante2:
     comandosB;
   break;

   default:
     comandosC;
}

Obs: Cada cláusula case na estrutura deverá finalizar com o comando break, pois é a forma de sair da estrutura switch, caso a condição seja Verdadeira.

Exemplo

Faça um programa que exiba o número contido na variável associada ao comando switch: No exemplo abaixo modifique o valor da variável resp para avaliar as outras situações.


Exercício

Faça um programa em c que solicite dois operandos e o tipo de operação aritmética que desejar, conforme opções abaixo:
1 - Soma
2 - Subtração
3 - Multiplicação
4 - Divisão
5 - Exponenciação

Caso o usuário selecione a opção 4 (divisão), verificar se o denominador é diferente de zero. Na exponenciação, utlizar a função pow(base, expoente) em #include<math.h>. Caso o usuário digitar uma opção inválida emitir mensagem.

IDE
Solução
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
 
int main()
{
    int x, y, resultado; 
    int op;
    x=0;
    y=0;
    resultado=0;
    op=0;
 
    printf(" \n Digite o valor do primeiro operando: ");
    scanf("%d", &x);
    printf(" \n Digite o valor do segundo operando: ");
    scanf("%d", &y);
 
    printf(" \n Escolha uma das opções abaixo: ");
    printf(" \n 1. Soma ");
    printf(" \n 2. Subtração ");
    printf(" \n 3. Multiplicação ");
    printf(" \n 4. Divisão ");
    printf(" \n 5. Exponenciação ");
    
    printf(" \n Digite o número da opção desejada: ");
    scanf("%d", &op);
 
    switch (op)
    {
    case 1:
        printf(" \n Opção selecionada: 1. Soma ");
        resultado = x + y;
        printf(" \n A soma dos dois números é: %d ", resultado);
        break;
 
    case 2:
        printf(" \n Opção selecionada: 2. Subtração ");
        resultado = x - y;
        printf(" \n A subtração dos dois números é: %d", resultado);
        break;
 
    case 3:
        printf(" \n Opção selecionada: 3. Multiplicação ");
        resultado = x * y;
        printf(" \n A multiplicação dos dois números é: %d", resultado);
        break;
 
    case 4:
        printf(" \n Opção selecionada: 4. Divisão ");
        if(y=0)
        {
            printf(" \n Não existe divisão por zero ");
        }
        else
        {
            resultado = x / y;
            printf(" \n A divisão dos dois números é: %d", resultado);
        }
 
        break;
    case 5:
        printf(" \n Opção selecionada: 5. Exponenciação ");
        resultado = pow(x, y);
        printf(" \n A exponenciação dos dois números é: %d", resultado);
        break;    
    default:
        printf(" \n Você digitou uma opção inválida!");
    }
 
    return 0;
}



Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io