URGENTEEEEEEEE POR FAVOR ALGUÉM ME AJUDEEE
Faça as adaptações necessárias no código para fazer o exercício que se pede na imagem.
#include <stdio.h>
#include <stdlib.h>
#define MAX_VETOR 100
typedef struct{
float raio;
}Circulo;
typedef struct{
float lado1, lado2, lado3;
}Triangulo;
typedef struct{
float base, altura;
}Retangulo;
typedef union{
Circulo c;
Triangulo t;
Retangulo r;
}UForma;
typedef struct{
UForma f;
int tipo;
}SForma;
enum op_menu{circ = 1, tri, ret, sair};
int main()
{
int opcao, quant = 0, i;
SForma formas[MAX_VETOR];
do{
printf("Cadastrar formas:\n");
printf("1 - Circulo\n2 - Triangulo\n3 - Retangulo\n");
printf("4 - Sair\n");
printf("Opcao: ");
scanf("%d", &opcao);
switch (opcao)
{
case circ:
printf("Digite o raio: ");
scanf("%f", &formas[quant].f.c.raio);
formas[quant].tipo = circ;
quant++;
break;
case tri:
printf("Digite os lados do triangulo: ");
scanf("%f", &formas[quant].f.t.lado1);
scanf("%f", &formas[quant].f.t.lado2);
scanf("%f", &formas[quant].f.t.lado3);
formas[quant].tipo = tri;
quant++;
break;
case ret:
printf("Digite a base e altura do retangulo: ");
scanf("%f", &formas[quant].f.r.base);
scanf("%f", &formas[quant].f.r.altura);
formas[quant].tipo = ret;
quant++;
break;
case sair:
break;
default:
printf("Opcao invalida.\n");
}
system("cls");
}while(opcao != sair && quant < MAX_VETOR);
printf("------------ Mostrando as figuras ---------------\n");
for (i = 0; i < quant; i++){
if (formas[i].tipo == circ){
printf("\nCirculo\nRaio = %.2f\n", formas[i].f.c.raio);
}else if (formas[i].tipo == ret){
printf("\nRetangulo\n");
printf("Base = %.2f\n", formas[i].f.r.base);
printf("Altura = %.2f\n", formas[i].f.r.altura);
}else{
printf("\nTriangulo\n");
printf("Lado 1 = %.2f\n", formas[i].f.t.lado1);
printf("Lado 2 = %.2f\n", formas[i].f.t.lado2);
printf("Lado 3 = %.2f\n", formas[i].f.t.lado3);
}
}
return 0;
}
Anexos:
Respostas
respondido por:
0
Resposta:
h4i38383838ueu737e7iri39
Perguntas similares
4 anos atrás
4 anos atrás
6 anos atrás
6 anos atrás
6 anos atrás
8 anos atrás
8 anos atrás