Anda di halaman 1dari 5

En el campo de la geometra las figuras se pueden clasificar en planas y

cuerpos geomtricos. En el caso de las figuras planas a estas se le puede


calcular su permetro y rea, mientras que a los cuerpos geomtricos se les
puede calcula su respectiva rea y volumen. Para el caso particular de este
enunciado se manipularan dos tipos de figuras planas y dos cuerpos
geomtricos as:
Nombre Atributos claves Permetro rea o
volumen
Figuras rectngulo H=altura 2*(B+H) B*H
planas B=base
circulo R=radio Pi*2*R PI*R2
Cuerpo Pirmide P=permetro de (1/2)*P*A*Ab (1/3)*Ab*H
geomtrico regular la base
A=apotema
Ab=rea de la
base
H=altura
esfera R=radio 4*PI*R2 (4/3)*PI*R3

Disear el diagrama de clases respectivo presentado y desarrollar el


programa aplicando la jerarqua de herencia, constructores, para efectuar los
siguientes mtodos y operaciones.

1. Inicialice un objeto para cada figura presentada con datos


suministrados por el usuario.
2. Calcular el permetro y rea para las figuras planas de los objetos
creados.
3. Calcular el rea y volumen de los cuerpos geomtricos
inicializados.
#include<iostream.h>
#include<math.h>
#include<conio.h>

class figuras{
private:
float h;
float b;
float r;
public:
figuras(){cout<<"clase figuras creada";};
~figuras(){cout<<"clase figuras destruida";};
void carga_h()
{
cout<<"ingrese la altura";
cin>>h;
}
void carga_b();
void carga_r();
float devol_h();
float devol_b();
float devol_r();
}; //fin de la clase figuras
float figuras::devol_h()
{
return h;
}

float figuras::devol_b()
{
return b;
}
float figuras::devol_r()
{
return r;
}

void figuras::carga_r()
{
cout<<"ingrese el radio";
cin>>r;
}

void figuras::carga_b()
{
cout<<"ingrese la base";
cin>>b;
}

class rectangulo:public figuras{


public:
void area();
void perimetro();
rectangulo()
{
cout<<"clase rectangulo creada";
};
~rectangulo()
{
cout<<"clase rectangulo destruida";
};
};

void rectangulo::area()
{
cout<<"el area es:"<<devol_h()*devol_b();
}
void rectangulo::perimetro()
{
cout<<"el perimetro es:"<<2*(devol_h()+devol_b());
}

class circulo:public figuras{


public:
void area();
void perimetro();
};
void circulo::area()
{
cout<<"el area es:"<<pow(devol_r(),2)*3.1416;
}
void circulo::perimetro()
{
cout<<"el perimetro es:"<<2*3.1416*devol_r();
}
class piramide:public figuras{
private:
float ap,ar_base,p;
public:
void carga();
void perimetro();
void volumen();
};
void piramide::carga()
{
cout<<"ingrese perimetro de la base";
cin>>p;
cout<<"ingrese apometa de la piramide";
cin>>ap;
cout<<"ingrese area de la base de la piramide";
cin>>ar_base;
carga_h();
}

void piramide::perimetro()
{
cout<<"el perimetro es:"<<(1/2)*p*ap*ar_base;
}
void piramide::volumen()
{
cout<<"el volumen es:"<<(1/3)*ar_base*devol_h();
}
class esfera:public figuras{
public:
void perimetro();
void volumen();
};

void esfera::perimetro()
{
cout<<"el perimetro es:"<<4*3.1416*pow(devol_r(),2);
}
void esfera::volumen()
{
cout<<"el volumen es:"<<(4/3)*3.1416*pow(devol_r(),3);
}

void main()
{
esfera ef1;
rectangulo r1;
piramide p1;
circulo c1;
ef1.carga_r();
ef1.perimetro();
ef1.volumen();
r1.carga_b();
r1.carga_h();
r1.area();
r1.perimetro();
p1.carga();
p1.perimetro();
p1.volumen();
c1.carga_r();
c1.area();
c1.perimetro();
}

Anda mungkin juga menyukai