• Matéria: Informática
  • Autor: jorge626w
  • Perguntado 4 anos atrás

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: 27do01de2006
0

Resposta:

h4i38383838ueu737e7iri39

Perguntas similares