Adsence

sábado, 2 de abril de 2011

Struct-de-articulo

Leave a Comment
Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y su precio
con descuento. El descuento lo hace en base a la clave, si la clave es 01 el descuento es
del 10% y si la clave es 02 el descuento en del 20% (solo existen dos claves)./*
Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y su precio
// con descuento. El descuento lo hace en base a la clave, si la clave es 01 el descuento es
//del 10% y si la clave es 02 el descuento en del 20% (solo existen dos claves).
*/

#include< iostream.h >
#include< math.h >
#include< string.h >
struct articulo{
char nombre[50];
int clave;
float preo;
float pred;
};
void portada();
void final();
void pedirVariable(char men[100],float *t);
int datos();
float formula(articulo x[],int LIM);
main()
{
char r;
portada();
do{
datos();
cout< < "Desea realizar otro analizis? (s/n): ";
cin > >r;
}while (r=='s');
final();
system("PAUSE");


}

void portada(){
cout< < ("...............................................................................\a\n");
cout< < ("................******.*****.** **.*****.****.*****.*****..**................\a\n");
cout< < ("................ ** .** **.*** ***.** **.** .** **.**.**.***................\a\n");
cout< < ("................ ** .*****.*******.*****.****.*****.*****..**................\a\n");
cout< < ("................ ** .** **.** * **.** .** .*** ....**..**................\a\n");
cout< < ("................**** .** **.** **.** .****.** **....**.****...............\a\n");
cout< < ("...............................jamper91.hostei.com.............................\a\n");
cout< < ("\n");
};
void final(){
cout< < ("\n-------------------------------------------------------------------------------\a\n");
cout< < ("******************************************************************************\a\n");
cout< < (" Creado por jamper91@hotmail.com\n");
cout< < (" Cucuta Campeon\n");
cout< < ("******************************************************************************\a\n");
cout< < ("-------------------------------------------------------------------------------\a\n");
};
void pedirVariable(char men[100],float *t)
{
float var;

cout< < men;
cin > >var;
*t=var;

}
int datos()
{
articulo art[100];
int LIM,aux;
char r='s',rta;

while(r=='s')
{
aux=LIM+1;
LIM=aux;
cout< < "\nCual es el nombre del Articulo "< < LIM< < ":";
cin > >art[LIM].nombre;
cout< < "Cual es la clave del Articulo "< < LIM< < ":";
cin > >art[LIM].clave;
while (art[LIM].clave!=1 && art[LIM].clave!=2){
cout< < "Lo siento la clave del Articulo"< < art[LIM].clave< < "no es valida (Debe ser 1 o 2)\a\n ";
cout< < "Digite otra clave para el articulo: "< < LIM< < ":";
cin > >art[LIM].clave;
};
cout< < "Cual es el Precio Original del Articulo "< < LIM< < ":";
cin > >art[LIM].preo;
cout< < "Desea agregar otro articulo (s/n): ";
cin > >r;

};
do{
formula(art,LIM);
cout< < "Desea realizar otro busqueda? (s/n): ";
cin > >rta;
}while (rta=='s');

};

float formula(articulo x[],int LIM)
{
int j/*para utilizar for*/,buscarcla/*argumento para buscar en base d ela clave*/,aux;/*me toco autilizarla porque no me queria la variable a correme como contador*/
int r/*lo utilizo para realizar un menu*/,a=0/*cotador para ingresar datos en buscar*/,com,h;
int buscar[LIM+1];/*es que puede haber mas de un articulo con el mismo parametro de busqueda y por eso los almaceno aqui*/
float buscarprec;/*parametro basado en el precio*/
char buscarnom[50];/*parametro basado en el nombre*/

for(j=1;j< =LIM;j++)
{
if(x[j].clave==1)
{
x[j].pred=(x[j].preo*10)/100;
x[j].pred=x[j].preo-x[j].pred;
}else if(x[j].clave==2)
{
x[j].pred=(x[j].preo*20)/100;
x[j].pred=x[j].preo-x[j].pred;
};
};
cout< < "\n\nQue opcion Desea realizar(1/2)\n";
cout< < "1__Imprimir todos los Articulos\n";
cout< < "2__Imprimir un Articulo en Particular\n";
scanf("%d",& r);
if (r==1){
cout< < "\n\n-------------------------------------------------------------------------------\n";
for(j=1;j< =LIM;j++){
cout< < "ARTICULO "< < j< < ":\n";
cout< < "Nombre:\t"< < x[j].nombre< < "\n";
cout< < "Clave:\t"< < x[j].clave< < "\n";
cout< < "Precio Original:\t"< < x[j].preo< < "\n";
cout< < "Precio con Descuento:\t"< < x[j].pred< < "\n";
cout< < "-------------------------------------------------------------------------------\n";
};
}else{
cout< < "\n\nMediate que opcion desea Buscar(1,2,3)\n";
cout< < "1__Nombre del Articulos\n";
cout< < "2__Clave del Articulo\n";
cout< < "3__Precio Original del Articulo\n";
cin > >r;
switch(r){
case 1:
cout< < "Por favor Digite el Nombre del Articulo: ";
cin > >buscarnom;
for(j=1;j< =LIM;j++){
com=strcmp(buscarnom,x[j].nombre);
if(com==0)
{
a=a+1;
buscar[a]=j;
};
};
cout< < "-------------------------------------------------------------------------------\n";
cout< < "Se consigio "< < a< < " articulo(s) con el nombre "< < buscarnom< < "\n";
for (j=1;j< =a;j++){
h=buscar[j];
cout< < "ARTICULO "< < h< < ":\n";
cout< < "Nombre:\t"< < x[h].nombre< < "\n";
cout< < "Clave:\t"< < x[h].clave< < "\n";
cout< < "Precio Original:\t"< < x[h].preo< < "\n";
cout< < "Precio con Descuento:\t"< < x[h].pred< < "\n";
cout< < "-------------------------------------------------------------------------------\n";
};
break;
case 2:
cout< < "Por favor Digite la Clave del Articulo: ";
cin > >buscarcla;
for(j=1;j< =LIM;j++){
if(buscarcla==x[j].clave){
a=a+1;
buscar[a]=j;
};
};
cout< < "\n\n-------------------------------------------------------------------------------\n";
cout< < "Se consigio "< < a< < " articulo(s) con con la clave "< < buscarcla< < "\n";
for(j=1;j< =a;j++){
h=buscar[j];
cout< < "ARTICULO "< < h< < ":\n";
cout< < "Nombre:\t"< < x[h].nombre< < "\n";
cout< < "Clave:\t"< < x[h].clave< < "\n";
cout< < "Precio Original:\t"< < x[h].preo< < "\n";
cout< < "Precio con Descuento:\t"< < x[h].pred< < "\n";
cout< < "-------------------------------------------------------------------------------\n";
};
break;
case 3:
cout< < "Por favor Digite el Precio Original del Articulo: ";
cin > >buscarprec;
for(j=1;j< =LIM;j++){
if(buscarprec==x[j].preo){
a=a+1;
buscar[a]=j;
};
};
cout< < "\n\n-------------------------------------------------------------------------------\n";
cout< < "Se consigio "< < a< < " articulo(s) con con el precio "< < buscarprec< < "\n";
for (j=1;j< =a;j++){
h=buscar[j];
cout< < "ARTICULO "< < h< < ":\n";
cout< < "Nombre:\t"< < x[h].nombre< < "\n";
cout< < "Clave:\t"< < x[h].clave< < "\n";
cout< < "Precio Original:\t"< < x[h].preo< < "\n";
cout< < "Precio con Descuento:\t"< < x[h].pred< < "\n";
cout< < "-------------------------------------------------------------------------------\n";
};
break;
default:
cout< < "Es una opcion no valida, solamente puedes escojer entre 1 y 3";
break;
};
};
};

0 comentarios :