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:
- quadrado (lado * lado)
- retângulo (comprimento * largura)
- círculo (3.14 * raio²)
- trapézio ( ( base maior+ base menor) * altura / 2)
- 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");
}
Aula 21 – While e Switch – Algoritmo em C