#include<iostream.h>
#include<conio.h>
#include<string.h>
class producto
{
public:
char nombre[30], codigo[30];
float precio;
int cantidad;
producto(char n[30],char cod[30], float pre, int can)
{
strcpy(producto::nombre,n);
strcpy(producto::codigo,cod);
precio=pre;
cantidad=can;
}
float subtotal()
{
float subtotal1;
subtotal1=precio;
return subtotal1;
}
float iva()
{
float iva1;
iva1=subtotal()*0.15;
return iva1;
}
float total()
{
float total1;
total1=subtotal()+iva();
return total1;
}
};
class perecedero: public producto
{
int dia,mes,anio;
perecedero(int d, int m, int a,char n[30],char cod[30], float pre, int can)
{
d=dia;
m=mes;
a=anio;
strcpy(producto::nombre,n);
strcpy(producto::codigo,cod);
precio=pre;
cantidad=can;
}
void fecha_caducidad()
{
cout<<"El producto esta caducado: ";
}
void p_imprime()
{
cout<<"El producto es perecedero: ";
}
};
class no_perecedero: public producto
{
no_perecedero(char n[30],char cod[30], float pre, int can)
{
strcpy(producto::nombre,n);
strcpy(producto::codigo,cod);
precio=pre;
cantidad=can;
}
void np_imprime()
{
cout<<"El producto no es perecedero: ";
}
};
void main()
{
clrscr();
producto pro;
perecedero pe;
no_perecedero np;
int opcion;
cout<<"Introduce el nombre del producto: ";
cin>>pro.nombre;
cout<<"Introduce el precio del producto: ";
cin>>pro.precio;
cout<<"Introduce la cantidad de producto: ";
cin>>pro.cantidad;
cout<<"Introduce el codigo del produtcto: ";
cin>>pro.codigo;
cout<<"Que tipo de producto es:nn 1 perecederonn 2 no perecedero";
cin>>opcion;
switch (opcion)
{
case 1:
cout<<"Ingresa Dia: "<<endl;
cin>>pe.dia;
cout<<"Ingresa Mes: "<<endl;
cin>>pe.mes;
cout<<"Ingresa Anio: "<<endl;
cin>>pe.anio;
if(pe.anio>2008&&pe.mes>5&&pe.dia>3)
{
cout<<"El producto ya caduco";
}
pe.fecha_caducidad();
pe.p_imprime();
cin.get();
break;
case 2:
np.np_imprime();
cin.get();
break;
default:
cout<<"Error"<<endl;
cin.get();
}
}