hola soy nuevo en este foro pero quisiera que me ayudaran con un ejercicio que me trae los pelos de punta. el problema BASICAMENTE es que cuando cuando introduzco los datos y mando a pedir el reporte el programa me da un numero totalmente erroneo debido a que no esta inicializando mis estructuras... agradecería la ayuda
/*desarrolle un programa el cual registre la entrada de 5 elementos a un almacen, guardando la cantidad y la fecha en la que este entro.tambien debe registrar los egresos de los mismos productos con su fecha correspondiante. finalmente el programa debe tener la opcion para emitir un reporta donde este registrado, LA ULTIMA FECHA DE INGRESO, LA ULTIMA FECHA DE DESPACHO Y LA CANTIDAD ACTUAL DEL PRODUCTO SOLICITADO... UTILIZE ESTRUCTURAS Y FUNCIONES */
#include<stdio.h>
#include<string.h>
struct lapiz {
int cantidad;
int diae;
int mese;
int anioe;
int dias;
int mess;
int años;
} l={0};
struct borra {
int cantidad;
int diae;
int mese;
int anioe;
int dias;
int mess;
int años;
} b={0};
struct sacapunta {
int cantidad;
int diae;
int mese;
int anioe;
int dias;
int mess;
int años;
} s={0};
struct papel {
int cantidad;
/*int diae;
int mese;
int anioe;
int dias;
int mess;
int años;*/
} p={0};
struct libro {
int cantidad;
int diae;
int mese;
int anioe;
int dias;
int mess;
int años;
} lb={0};
int cant;
int z=0;
int r=0;
int ingreso (struct lapiz l,struct borra b, struct sacapunta s, struct papel p, struct libro lb, int cant){
int a;
printf("selecciones el producto que este ingresando: 1.lapiz 2.borrador 3.saca puntas 4.papel 5.libros\n\n");
scanf("%d",&a);
printf("introduzca la cantidad a ingresar:\n");
scanf("%d",&cant);
switch (a)
{
case 1:
printf("introduzca la fecha de ingreso dd mm aa:\n");
scanf("%d %d %d",&l.diae,&l.mese,&l.anioe);
l.cantidad=l.cantidad + cant;
break;
case 2:
printf("introduzca la fecha de ingreso dd/mm/aa:\n");
scanf("%d %d %d",&b.diae, &b.mese, &b.anioe);
b.cantidad=b.cantidad + cant;
break;
case 3:
printf("introduzca la fecha de ingreso dd/mm/aa:\n");
scanf("%d %d %d",&s.diae, &s.mese, &s.anioe);
s.cantidad=s.cantidad + cant;
break;
case 4:
printf("introduzca la fecha de ingreso dd/mm/aa:\n");
scanf("%d %d %d",&p.diae, &p.mese, &p.anioe);
p.cantidad=p.cantidad + cant;
break;
case 5:
printf("introduzca la fecha de ingreso dd/mm/aa:\n");
scanf("%d %d %d",&lb.diae, &lb.mese, &lb.anioe);
lb.cantidad=lb.cantidad + cant;
break;
};
z=0;
return (z);
};
salida (struct lapiz l, struct borra b, struct sacapunta s, struct papel p, struct libro lb, int cant){
int g;
printf("selecciones el producto que este despachando: 1.lapiz 2.borrador 3.saca puntas 4.papel 5.libros\n");
scanf("%d",&g);
printf("introduzca la cantidad a ingresar;\n");
scanf("%d",&cant);
switch (g)
{
case 1:
printf("introduzca la fecha de ingreso dd mm aa:\n");
scanf("%d %d %d",&l.dias, &l.mess, &l.años);
l.cantidad=l.cantidad - cant;
break;
case 2:
printf("introduzca la fecha de ingreso dd mm aa:\n");
scanf("%d %d %d",&b.dias, &b.mess, &b.años);
b.cantidad=b.cantidad - cant;
break;
case 3:
printf("introduzca la fecha de ingreso dd mm aa:\n");
scanf("%d %d %d",&s.dias, &s.mess, &s.años);
s.cantidad=s.cantidad - cant;
break;
case 4:
printf("introduzca la fecha de ingreso dd/mm/aa:\n");
scanf("%d/%d/%d",&p.dias, &p.mess, &p.años);
p.cantidad=p.cantidad - cant;
break;
case 5:
printf("introduzca la fecha de ingreso dd mm aa:\n");
scanf("%d %d %d",&lb.dias, &lb.mess, &lb.años);
lb.cantidad=lb.cantidad - cant;
break;
};
};
consulta(struct lapiz l, struct borra b, struct sacapunta s, struct papel p, struct libro lb, int cant){
int c;
printf("selecciones el producto a consultar: 1.lapiz 2.borrador 3.saca puntas 4.papel 5.libros\n");
scanf("%d",&c);
switch (c)
{
case 1:
printf("la ultima fecha de entrada es: %d %d %d \n",l.diae,l.mese,l.anioe);
printf("la ultima fecha de salida es: %d %d %d \n",l.dias,l.mess,l.años);
printf("la cantidad actual del producto es %d \n:",l.cantidad);
break;
case 2:
printf("la ultima fecha de entrada es: %d %d %d \n",b.diae,b.mese,b.anioe);
printf("la ultima fecha de salida es: %d %d %d \n",b.dias,b.mess,b.años);
printf("la cantidad actual del producto es: %d\n",b.cantidad);
break;
case 3:
printf("la ultima fecha de entrada es: %d %d %d \n",s.diae,s.mese,s.anioe);
printf("la ultima fecha de salida es: %d %d %d \n",s.dias,s.mess,s.años);
printf("la cantidad actual del producto es %d\n:",s.cantidad);
break;
case 4:
printf("la ultima fecha de entrada es: %d %d %d \n",p.diae,p.mese,p.anioe);
printf("la ultima fecha de salida es: %d %d %d \n",p.dias,p.mess,p.años);
printf("la cantidad actual del producto es: %d\n",p.cantidad);
break;
case 5:
printf("la ultima fecha de entrada es: %d %d %d \n",lb.diae,lb.mese,lb.anioe);
printf("la ultima fecha de salida es: %d %d %d \n",lb.dias,lb.mess,lb.años);
printf("la cantidad actual del producto es:%d\n",lb.cantidad);
break;
};
};
main(){
int d;
struct lapiz l;
struct borra b;
struct sacapunta s;
struct papel p;
struct libro lb;
while (z==0){
printf("escoja la operacion a realizar 1. ingresar 2. despachar 3. consultar producto\n");
scanf("%d",&d);
switch (d){
case 1:
ingreso(l,b,s,p,lb,cant);
break;
case 2:
salida(l,b,s,p,lb,cant);
break;
case 3:
consulta(l,b,s,p,lb,cant);
break;
};
};
}
pude ver haciendo las mil marañas que mi problema es cuando paso mis estructuras dentro de las funciones...