Aula 21 – While e Switch – Algoritmo em C

Aula 21 – While e Switch – Algoritmo em C

 

Aula 21 - While e Switch - Algoritmo em C

Código 09 – usando switch ao invés de if else – Requisitos

Esse programa é para calcular a área de determinadas figuras geométricas, exibindo-as.

O programa deverá apresentar um menu com as seguintes opções:

  1. quadrado (lado * lado)
  2. retângulo (comprimento * largura)
  3. círculo (3.14 * raio²)
  4. trapézio ( ( base maior+ base menor) * altura / 2)
  5. fim
  • O programa deverá permitir ao usuário escolher uma das opções, até que escolha a opção 5 para finalizar.
  • O código terá uma função chamada menu ( ) que exibirá as opções , lerá e retornará a opção escolhida.
  • Para cada opção, o programa deverá chamar a função apropriada para o cálculo desejado.
  • Dentro dessas funções serão lidos os dados de entrada apropriados, a área deverá ser calculada e retornada.

Código 09 – while com switch

#include <stdlib.h>/*Instrução de pré-processamento, habilita nosso programa a usar essa biblioteca de entradas e saídas, possui funções como scanf e printf*/
#include <stdlib.h>/*Instrução de pré-processamento, habilita nosso programa a usar essa biblioteca, para poder usar o system("PAUSE"); */
#include <locale.h>/*Instrução de pré-processamento, habilita nosso programa a usar essa biblioteca, para usar caracteres como: ç, Ç, Â ,â etc. No printf( )*/

int menu (  )
{
   int  num;

   printf("\nDigite 1 pra calcular a área de um quadrado\nDigite 2 pra calcular a área de um retângulo\nDigite 3 "
   "pra calcular a área de um círculo\nDigite 4 pra calcular a área de um trapézio\nDigite 5 pra finalizar\n");
   fflush(stdin);
   scanf("%d",&num);

   return num;

}

float calcQuadrado (  )
{
   float lado, area;
   printf("Digite o lado ");
   scanf("%f",&lado);
   fflush(stdin);
   area=lado*lado;
   return area;
}

float calcRetangulo (  )
{
   float comprimento,largura, area;
   printf("Digite o comprimento ");
   scanf("%f",&comprimento);
   fflush(stdin);
   printf("Digite a largura ");
   scanf("%f",&largura);
   fflush(stdin);
   area=comprimento*largura;
   return area;
}

float calcCirculo (  )
{
   float raio, area;
   printf("Digite o raio do círculo ");
   scanf("%f",&raio);
   fflush(stdin);
   area=3.14*raio*raio;
   return area;
}

float calcTrapezio (  )
{
   float bmaior,bmenor, altura, area;
   printf("Digite a base maior ");
   scanf("%f",&bmaior);
   fflush(stdin);
   printf("Digite a base menor ");
   scanf("%f",&bmenor);
   fflush(stdin);
   printf("Digite a altura ");
   scanf("%f",&altura);
   fflush(stdin);
   area=(bmaior+bmenor)*altura/2;
   return area;
}

void main (void)
{
  int opcao;
  float area;

  /*Ativa a configuração da biblioteca locale.h para português*/
  setlocale(LC_ALL, "Portuguese"); //Ativa a configuração da biblioteca locale.h para português

  opcao=menu(  );//opcao recebe a opção digitada pelo usuário
  While (opcao < 5 && opcao>0)
  {
    switch(opcoes)
    {
        Case 1: area=calcQuadrado(  );
                break;
        Case 2: area=calcRetangulo(  );
                break;
        Case 3: area=calcCirculo(  );
                break;
        default: area=calcTrapezio(  );
    }
    printf ("%.2f",area);
    opcao=menu(   );
  } // Fim do while
  system("PAUSE");
}

Link encurtado para download dos códigos

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *