#include <stdio.h>
/*
a=(1,0,1)
b=(5,0,1)
c=(3,0,5)
d=(1,5,1)
Superficie del triángulo base = (base * altura del triangulo)/2 = 4*4/2=8cm2.
Volumen = superficie * lado A-D = 8*5 = 40cm3.
*/
// Defino los tipos
typedef struct{
int x;
int y;
int z;
}punto;
typedef struct{
punto a;
punto b;
punto c;
punto d;
}triangulo;
// ...................
// Función para cálculo de la superficie.
int superficie(triangulo *mi_triangulo){
int base,altura;
int superficie;
base = (mi_triangulo->b.x - mi_triangulo->a.x);
altura = (mi_triangulo->c.z - mi_triangulo->b.z);
superficie = (base * altura)/2;
printf("La Superficie es %d cm2", superficie);
return superficie;
}
// Función para cálculo del volumen.
void volumen(triangulo *mi_triangulo,int superficie_del_triangulo){
int altura_triangulo, volumen;
altura_triangulo = (mi_triangulo->d.y - mi_triangulo->a.y);
volumen = superficie_del_triangulo * altura_triangulo;
printf(" y su Volumen es %d cm3 \n", volumen);
}
int main() {
// defino lo que voy a usar
triangulo mi_triangulo;
int superficie_del_triangulo;
// Cargo los datos
mi_triangulo.a.x = 1;
mi_triangulo.a.y = 0;
mi_triangulo.a.z = 1;
mi_triangulo.b.x = 5;
mi_triangulo.b.y = 0;
mi_triangulo.b.z = 1;
mi_triangulo.c.x = 3;
mi_triangulo.c.y = 0;
mi_triangulo.c.z = 5;
mi_triangulo.d.x = 1;
mi_triangulo.d.y = 5;
mi_triangulo.d.z = 1;
//...........................
// Se llama a la función de cálculo de superficie, retorna el valor calculado.
superficie_del_triangulo = superficie(&mi_triangulo);
// Se llama directamente a la función de cálculo del volumen, no devuelve nada.
volumen(&mi_triangulo,superficie_del_triangulo);
return 0;
}