
14/09/2008, 14:05
|
| | Fecha de Ingreso: mayo-2007 Ubicación: Buenos aires
Mensajes: 19
Antigüedad: 17 años, 10 meses Puntos: 0 | |
problema en programa con struct -_- hi gente el problema es que cuando hago una venta me resta el stock equivocado yo pongo 1 cod y me resta el stock del otro -_- pero a simple viste no le encuentro el error..
Código:
#include <iostream>
#include <conio.c>
using namespace std;
struct tart
{
char cad[5];
char desc[30];
float pu;
int stock;
};
void cg(tart *);
void m(tart *);
int b(tart *,char *,int);
void v(tart *);
int main (int argc, char* argv[])
{
char op;
tart va[2];
do
{
clrscr();
cout<<"1-carga art"<<endl;
cout<<"2-mostar art"<<endl;
cout<<"3-ventas"<<endl;
cout<<"4-salir"<<endl;
op=getch();
switch(op)
{
case '1':
cg(va);
break;
case '2':
m(va);
break;
case '3':
v(va);
break;
case '4':
op='n';
break;
}
}while(op!='n');
return 0;
}
void cg(tart *pv)
{
for(int i=0; i<2; i++)
{
cout<<"cod"<<endl;
fflush(stdin);
cin.getline(pv[i].cad,5);
cout<<"desc"<<endl;
cin.getline(pv[i].desc,5);
fflush(stdin);
cout<<"pu"<<endl;
cin>>pv[i].pu;
cout<<"stock"<<endl;
cin>>pv[i].stock;
}
}
void v(tart *pv)
{
char c[5];
int cant,pos;
fflush(stdin);
cout<<"ingr cod art"<<endl;
cin.getline(c,5);
cout<<"ingr cant"<<endl;
cin>>cant;
pos=b(pv,c,cant);
cout<<"importe de la venta es "<<(pv[pos].pu*cant);
getch();
}
int b(tart *pv,char *c,int cant)
{
for(int i=0; i<2; i++)
{
if(!(strcmp(c,pv[i].cad)==0))
{
pv[i].stock-=cant;// error resta stock equivocado
cout<<"se encontro"<<endl;
return i;
}
}
return 0;
}
void m(tart *pv)
{
for(int i=0; i<2; i++)
{
cout<<"cod"<<pv[i].cad<<endl;
cout<<"desc"<<pv[i].desc<<endl;
cout<<"pu"<<pv[i].pu<<endl;
cout<<"stock"<<pv[i].stock<<endl;
}
getch();
}
|