Faça um programa que: recebido um código numérico e valores apropriados a cada caso, calcule e imprima:
Código
Cálculo a ser efetuado
área de um quadrado
área de um retângulo
área de um trapézio
um valor informado, elevado à potência indicada
OBS: utilizando o comando switch.
Código | Cálculo a ser efetuado |
área de um quadrado | |
|
área de um retângulo |
|
área de um trapézio |
|
um valor informado, elevado à potência indicada |
Passo 1
O programa deve receber um código inteiro e, dependendo desse código, ler os parâmetros adequados para calcular: área de um retângulo, área de um quadrado, área de um trapézio ou elevar um valor a uma potência. Vamos usar a estrutura switch em C para isso.
Passo 2
Em C, a gente vai precisar ler do teclado um inteiro para o código e depois, dentro de cada caso do switch, ler os valores correspondentes com scanf. No final, imprimimos o resultado com printf.
Passo 3
Para montar cada cálculo precisamos da teoria das fórmulas:
- Área do retângulo de base
e altura : . - Área do quadrado de lado
: . - Área do trapézio de bases maior
, menor e altura :
- Potência de um valor
elevado a um inteiro : usamos da biblioteca <math.h>.
Passo 4
Implementamos o switch da seguinte forma, supondo os códigos:
1 → retângulo
2 → quadrado
3 → trapézio
4 → potência
Dentro de cada case lemos com scanf os valores necessários, calculamos e usamos printf para exibir.
1 → retângulo
2 → quadrado
3 → trapézio
4 → potência
Dentro de cada case lemos com scanf os valores necessários, calculamos e usamos printf para exibir.
Passo 5
Por fim, montamos o programa completo em C, incluindo os headers <stdio.h> e <math.h>, a função main, a leitura do código, o switch-case e um default para código inválido.
Resposta
#include <stdio.h>\n#include <math.h>\n\nint main() {\n int codigo;\n double b, h, L, B, x, n, resultado;\n scanf("%d", &codigo);\n switch(codigo) {\n case 1: // área do retângulo\n scanf("%lf %lf", &b, &h);\n resultado = b * h;\n printf("%.2f\n", resultado);\n break;\n case 2: // área do quadrado\n scanf("%lf", &L);\n resultado = L * L;\n printf("%.2f\n", resultado);\n break;\n case 3: // área do trapézio\n scanf("%lf %lf %lf", &B, &b, &h);\n resultado = (B + b) * h / 2.0;\n printf("%.2f\n", resultado);\n break;\n case 4: // potência\n scanf("%lf %lf", &x, &n);\n resultado = pow(x, n);\n printf("%.2f\n", resultado);\n break;\n default: // código inválido\n printf(“Código inválido\n”);\n }\n return 0;\n}