Ejemplos de c++ utilizando programacion separada.
primero utilizar un puntero apuntando a un arreglo y luego un programita pequeñito para calcular facturas y una expresion, espero que el codigo se explique solo y cualquier duda solo comenta la entrada.
preparacion
int Arreglo[5] = {1};int *ptrEntero;
ptrEntero = Arreglo;
for (int i = 0 ; i < 5 ; i++) ptrEntero[i]++;
// incrementamos todos los elementos del arreglo.
------------------------------------------
struct letras
{
double x,y,z;
double res, tot;
};
struct factura
{
double precio, cantidad, pordes;
double neto, montodes, subtotal, iva, total;
principal
#include<iostream.h>
#include<math.h>
#include"examen.h"
#include"mexamen.cpp"
void main()
{
imprimir p;
letras ds;
factura dt;
ds.x=ds.y=ds.z=ds.res=ds.tot=0;
dt.neto=dt.montodes=dt.subtotal=dt.iva=0;
dt.precio=dt.cantidad=dt.pordes=0;
double mtotal=0;
cout<<"ingrese x:";cin>>ds.x;
cout<<"ingrese y:";cin>>ds.y;
cout<<"ingrese z:";cin>>ds.z;
cout<<"ingrese precio:";cin>>dt.precio;
cout<<"ingrese cantidad:";cin>>dt.cantidad;
cout<<"ingrese pordes:";cin>>dt.pordes;
mtotal=p.tres(& ds,& dt);
cout<<"el total es:"<<mtotal<<"\n";
}
examen.h
};
class control
{
private:
double cox,coy,coz;
double cores;
public:
control();
~control();
void uno(letras *);
};
class prueba
{
private:
double px,py;
double pres;
public:
prueba();
~prueba();
void dos(letras &);
};
class imprimir :public control, public prueba
{
private:
double imprecio, imcantidad, impordes;
double imneto,immontodes,imsubtotal,imiva,imtotal;
double imx,imy,imz;
double imres;
letras de;
public:
imprimir();
~imprimir();
double tres(letras *, factura *);
};
mexamen
control::control()
{
cox=coy=coz=0;
cores;
}
control::~control()
{
cout <<"objeto control destruido"<<"/n";
}
void control::uno(letras *acs)
{
cox=acs->x;
coy=acs->y;
coz=acs->z;
if (pow(coz,3)==0)
{
cout<<"error"<<"/n";
}
else
{
cores= (pow(cox,4)-pow(coy,2))/(pow(coz,3));
if (cores<0)
{
cout<<"error complejo"<<"/n";
}
else
{
cores = pow(cores,1/2);
}
}
acs->res=cores;
}
prueba::prueba()
{
px=py=0;
ptot=0;
}
prueba::~prueba()
{
cout<<"objeto prueba destruido"<<"/n";
}
void prueba::dos(letras & bcs)
{
px=bcs.x;
py=bcs.y;
if (py==0)
{
cout<<"error"<<"/n";
}
else
{
ptot= pow(px,2)-(px)/(py);
}
bcs.tot=ptot;
}
imprimir::imprimir()
{
imprecio=imcantidad=impordes=0;
imneto=immontodes=imsubtotal=imiva=imtotal=0;
imx=imy=imz=imres=imtot=0;
de.x=de.y=de.z=de.res=0;
}
imprimir::~imprimir()
{
cout<<"objeto imprimir destruido"<<"/n";
}
double imprimir::tres(letras * ads,factura * adt)
{
imprecio=adt->precio;
imcantidad=adt->cantidad;
impordes=adt->pordes;
imx=ads->x;
imy=ads->y;
imz=ads->z;
de.x=imx;
de.y=imy;
de.z=imz;
uno(&de);
dos(de);
cout<<"resultado de uno="<<de.res<<"\n";
cout<<"resultado de dos="<<de.tot<<"\n";
if (imprecio || imcantidad < 0 || impordes<0)
{
cout<<"total";
}
else
{
imneto= (imprecio * imcantidad);
immontodes=(imneto * impordes)/100;
imsubtotal=immontodes-imneto;
imiva=(imsubtotal*19)/100;
imtotal=imsubtotal+imiva;
cout<<"neto="<<imneto<<"\n";
cout<<"monto descuento="<<immontodes<<"\n";
cout<<"subhtotal="<<imsubtotal<<"\n";
cout<<"iva="<<imiva<<"\n";
}
return imtotal;
}