

Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
um codigo de lista bem eficiente
Tipologia: Exercícios
1 / 3
Esta página não é visível na pré-visualização
Não perca as partes importantes!


Este código implementa um Tipo Abstrato de Dados (TAD) para representar um cilindro em linguagem C. Ele inclui funções para criação, destruição e operações como cálculo da área total e do volume.
#ifndef CILINDRO_H #define CILINDRO_H
typedef struct cilindro Cilindro;
// Criação e destruição Cilindro* Cilindro_cria(float raio, float altura); void Cilindro_libera(Cilindro* c);
// Operações float Cilindro_raio(Cilindro* c); float Cilindro_altura(Cilindro* c); float Cilindro_area(Cilindro* c); // área total float Cilindro_volume(Cilindro* c);
#endif
#include #include #include #include "Cilindro.h"
struct cilindro { float raio; float altura; };
Cilindro* Cilindro_cria(float raio, float altura) { Cilindro* c = (Cilindro*) malloc(sizeof(Cilindro)); if (c != NULL) { c->raio = raio; c->altura = altura; } return c; }
void Cilindro_libera(Cilindro* c) { free(c); }
float Cilindro_raio(Cilindro* c) { return c->raio; }
float Cilindro_altura(Cilindro* c) { return c->altura; }
float Cilindro_area(Cilindro* c) { float areaBase = M_PI * c->raio * c->raio; float areaLateral = 2 * M_PI * c->raio * c->altura; return 2 * areaBase + areaLateral; }
float Cilindro_volume(Cilindro* c) { return M_PI * c->raio * c->raio * c->altura; }