quarta-feira, 27 de junho de 2018

Estrutura case em C

A estrutura casse consiste em uma generalização do if, em que somente uma condição era avaliada e dois caminhos poderiam ser seguidos, um para o resultado da avaliação ser verdadeiro e outro para falso.
Na estrutura case pode haver uma ou mais condições a serem avaliadas e um comando diferente associado a cada uma delas, isto é, é uma construção de múltiplas possibilidades de decisão que compara o resultado de uma expressão com uma série de valores constantes(LOPES; GARCIA, 2002).

A estrutura case é utilizada quando temos situações mutuamente exclusivas, ou seja, em que se uma instrução for executada as demais não serão. Para este tipo de situação recomenda-se o uso de um comando seletivo (ASCENCIO; MOURA, 2010).

A sintaxe dessa estrutura é:

switch (<variável>)
{
case <valor 1> : <instruções>;
    break;
case <valor 2> : <instruções>;
    break;
case <valor 3> : <instruções>;
    break;
default: <instruções>;
}

Nesta estrutura, o comando switch avalia o valor da variável para decidir qual case será executado. Cada case representa um possível valor da variável, que obrigatoriamente deve ser do tipo char, unsigned char, int, unsigned int, long ou unsigned long. Para impedir a execução das instrulções definidas nos demais cases deve-se utilizar o comando break.
Se o valor da variável não coincidir com aqueles especificados nos cases são executadas as instruções do default (ASCENCIO; CAMPOS,2010)

Exemplo:
/* Estrutura case em C */
#include <stdio.h>
main()
{
    float num1, num2, resultado;
    int op;
    printf(" Digite o primeiro numero: ");
    scanf("%f",&num1);
    printf("\n Digite o segundo número: ");
    scanf("%f",&num2);
    printf("\nEscolha a operacao: \n - Soma \n 2 - Subtracao \n 3 - Multiplicacao \n 4 - Divisao \n");
    scanf ("%d",&op);
    switch (op)
    {
        case 1 : resultado = num1 + num2;
            printf (" A soma e : %.3f",resultado);
        break;
        case 2 : resultado = num1 - num2;
            printf (" A subtracao e : %.3f",resultado);
        break;
        case 3 : resultado = num1 * num2;
            printf (" A multiplicacao e : %.3f",resultado);
        break;
        case 4 : resultado = num1 / num2;
            printf ("A divisao e : %.3f",resultado);
        break;

        default : printf("\n Opcao invalida");       
    }

    return (0);
}

Fonte: Algoritmos e Lógica de Programação II, ME. Gislaine Camila Lapasini Leal, Unicesumar.

Nenhum comentário:

Postar um comentário