Ejercicio sin resolver... ¡AYUDA!
-
Necesito ayuda con este enunciado... no he podido terminarlo... les agradeceria si me dijeran que hace falta... muchas gracias de antemano...
/* Una fabrica produce mesas para comedor, necesita fabricar mesas en dos
formas diferentes. Unas mesas deben ser de forma circular y otras de forma cuadrada.
Cada mesa tiene las siguientes propiedades: altura, color, area y precio.
El area circular se calcula pi*r2 y el area cuadrada se calcula L2.
El precio viene dado por area*1000. Se requiere un programa utilizando
un menu que permita vender mesas redondas y cuadradas y que salga del sistema,
que implante funciones externas para vender las mesas.*/
#include
#include
class circulo {
float r;
public:
circulo(float radio);
float area(float radio); };
circulo::circulo(float radio)
{ r= radio;}
float circulo::area()
{ return r*r*3.141516; }
class cuadrado {
float l;
public:
cuadrado (float lado);
float area(); };
cuadrado::cuadrado(float lado)
{ l=lado;}
float cuadrado::area()
{ return l*l; }
class mesa {
float alto;
int color;
public:
mesa(float h, float c);
float Getalto();
float precio(float a);
mesa::mesa(float h, c)
{ alto=h;
color=c; }
mesa::Getalto()
{ return alto; }
/* mesa::Getcolor()
{ return color; } */
float mesa:recio(float a)
{ return a*1000; } }
// CLASES DERIVADAS ----------------------------
class mesaredonda {
public:
mesaredonda (float h, float r, int c) };
mesaredonda::mesaredonda(float h, float r, int c): circulo(r), mesa (h,c) {}
class mesacuadrada {
public:
mesacuadrada(float h, float l, int c) };
mesacuadrada::mesacuadrada(float h, float l; int c): cuadrado(l), mesa(h,c) {}
// PROTOTIPOS DE LA FUNCION --------------------
int menu();
void vender_mesaredonda();
void vender_mesacuadrada();
void main()
{ int opc;
while (opc!=3) {
opc=menu();
switch(opc) {
case 1: vender_mesaredonda(); break;
case 2: vender_mesacuadrada(); break;
case 3: return;
default: printf("Opcion Invalida"); getch(); }
} // while
} // main
int menu()
{ int opcion;
clrscr();
printf("\n\nMenu de Opciones");
printf("\n\n\t1.- Vender Mesa Redonda");
printf("\n\n\t2.- Vender Mesa Cuadrada");
printf("\n\n\t3.- Salir");
printf("\n\nIndique Opcion: ");
scanf("%d",&opcion);
return opcion;
}
void vender_mesaredonda()
{ float altura, radio;
int color;
char colores[4][10]={"Blanco","Amarillo","Azul","Rojo"};
clrscr();
printf("\n\nMesa Redonda");
printf("\n\nIndique Altura: "); scanf("%f", &alto);
printf("\n\nIndique Radio: "); scanf("%f", &radio);
printf("\n\nIndique Color: "); scanf("%d", &color);
mesaredonda m (altura,radio,color);
float a= m.area();
printf("\n\nPropiedad");
printf("\n\n\tAlto = %f", m.Getalto();
printf("\n\n\tArea = %f", m.area();
printf("\n\n\tColor = %s", colores[m.color()];
printf("\n\n\tPrecio = %f", m.precio(a));
}
void vender_cuadrada()
{ float altura, lado;
int color;
char colores[4][10]={"Blanco","Amarillo","Azul","Rojo"};
clrscr();
printf("\n\nMesa Cuadrada");
printf("\n\nIndique Altura: "); scanf("%f", &alto);
printf("\n\nIndique Lado: "); scanf("%f", &radio);
printf("\n\nIndique Color: "); scanf("%d", &color);
mesaredonda m (altura,lado,color);
float a= m.area();
printf("\n\nPropiedad");
printf("\n\n\tAlto = %f", m.Getalto();
printf("\n\n\tArea = %f", m.area();
printf("\n\n\tColor = %s", colores[m.color()];
printf("\n\n\tPrecio = %f", m.precio(a));
}
