Estructura de datos: Código fuente del sistema de gestión de inventarios, compras y ventas de productos (lenguaje C o c++).
q->siguiente producto = p
q=p
}
}
Volver OK;
}//ProductInsert
void ProQuantity _ add(sqmountlink & l , char pkindname 1[], char pname 1[], int n)
{// Agregue un enlace a la cantidad total de productos en la lista vinculada en la lista de secuencia, para agregar La cantidad total de productos es n.
int i, k;
plink lista p;
for(I = 0; i<length; i++)
{ p>
if(strcmp(L.kindelem[i]).pkindname,pkindname 1)! =0)
Continuar;
Otro
Pausa;
}
if(i<length ) p>
{
for(p=L .kindleme[i]). Primer producto ;p! = NULLp = p->siguiente producto)
{
k = strcnp(p->pname . pname);
if ( k== 0)
{
p->; totalquantity=p->cantidad total+n;
Printf("Ver la salida de productos agregados: % s % d% d, % d% d, % d % d \n ", p-pname, p->cantidad total, (p->fechaproductos). Año, (p->;fechaproductos). Mes, (p- >;días,
p->;tiempo de venta). Año, (p->; tiempo de venta). Mes, (p->; tiempo de ventas). días);
}
}
}
}//ProQuantity_add
Acceso no válido (sqmountlink & ampl, char pkindname3[], char pname3[])
{// Consulta la información del producto que pertenece a una determinada categoría de producto en la lista vinculada L de la lista de secuencia.
int i, k;
plink lista p;
for(I = 0; i<length; i++)
{ p>
if(strcmp((L.kindelem[i]),pkindname.pkindname3)!=0)
Continuar
Otro
descanso ;
}
if(i<length)
{
for(p=L .kindley Mu[i]).
Primer producto ;p! = NULLp = p-& gt; nextproducy)
{
k = strcmp(p-& gt;pname . pname 3);
if (k ==0)
Break;
}
If (k!=0)
Printf("El producto no existe : \n ")
Otros
{
Printf("Utilice la consulta para generar información diversa sobre el producto:\ n ");
printf(" % % s %d %d % d, % d, %d %d %d, % d, %d\n ", (L.kindelem[i]). pkindname, p-& gt ; pname, p->total, (p->goodsdate). Año, (p->;goodsdate). Mes, (p->;goodsdate). tiempo de ventas). Año, (p->; tiempo de venta). Mes, (p->; tiempo de ventas). días);
}
}
}//Acceso
lista de visualización nula (sqmountlink y ampl)
{//Muestra la categoría de producto, el nombre del producto, la cantidad total del producto, la fecha de compra, la cantidad de ventas y el tiempo de venta de cada producto.
int I;
plink list p;
Printf("Fecha de compra del producto, cantidad de ventas y tiempo de ventas\n ")
for(I = 0;i<length;i++)
{
if (!(kindleme[i], primer producto)
printf("%s \n ", (L.kindelem[i]).pkindname);
for(p=L.kindelem[i]). primer producto; p ; p = p-& gt; siguiente producto)
printf(" % s % s %d %d % d, % d, %d %d %d, % d, %d \n ", (L.kindelem[i]). pkindname , p->pname, p->total, (p->goodsdate). Año, (P->goodsdate). Mes, (p-> ;goodsdate). Tiempo de ventas). Mes, (p->;Tiempo de ventas);
}
}//Lista de visualización
void DestoryMountList(sqmountlink & amp; l). )
{//Destruye la lista enlazada de la lista de secuencia existente l.
int I;
nodo kindl * p;
for(I = l . longitud; i>=0;
{
p = &(l .kindleme[I]);
if(*p).firstproduct==NULL)
Gratis (p); p>
Otro
{
mientras((*p).
primer producto; q->siguienteproductoq = q->siguiente producto
Gratis (q);
}
Gratis (q); p>
}
}
}//DestroyMountList
void menu_operation()
{//Menú de operación p>
printf("-Ingrese la acción a realizar:- \ n ")
printf("-Agregar categoría de producto: 1-\ n ");
printf("-Agregar producto: 2-\ n ");
printf("-Agregar cantidad de producto: 3-\ n "); , cantidad total de producto, fecha de compra, cantidad de venta, tiempo de venta de cada producto: 4 - \n ").
printf("-Libera el espacio de memoria ocupado por L, sal del programa: 0-\ n ");
}//Menu_Operation
/* -Programa principal*/
Gerente general no válido (no válido)
{
int secuencia,
int i, n; p >
char a[30];
char b[30];
enlace sqmount L;
InitMountList(L);
Printf(" - Crear categoría de producto inicial y lista enlazada de secuencia de productos L);
CreatMuntList(L);
Mostrar lista (L);
Printf("-Se ha creado la lista enlazada L de categoría de producto inicial y lista de secuencia de productos);
menu _ operación();
Bucle:
printf(" Ingresar comando: ");
scanf("%d ", & orden);
Cambiar (secuencia)
{
Caso 1:
Printf("Número de categorías de productos que se agregarán:");
scanf("%d ", &I);
kindinsert (L, I);
Printf("Generar la tabla de gestión de inventario de productos modificados:\ n ");
Mostrar lista (L);
Ir al bucle;
Caso 2:
Printf("Nombre de la categoría del producto a la que pertenece el producto:")
scanf("%s " , & ampa) ;
Printf("Cantidad de productos que se agregarán a esta categoría de producto:");
scanf("%d ", & ampI);
ProductInsert (L, a, I);
Printf("Generar la tabla de gestión de inventario de productos modificados:\ n ");
Mostrar lista (L); /p>
Ir al bucle;
Caso 3:
Printf("Ingrese el nombre de la categoría del producto al que pertenece la cantidad a agregar:");
scanf(" %s ",&a);
Printf("Ingrese el nombre del producto que se agregará:");
scanf("%d ",&n );
ProQuantity_add(L, a, b, n);
Printf("Generar la tabla de gestión de inventario de productos modificados:\n ");
Lista de visualización (L);
Ir al bucle;
Caso 4:
Printf("Ingrese el nombre de la categoría del producto a consultar:" );
scanf("%s ", & ampb);
Printf("Ingrese el nombre del producto a consultar:
scanf( %s ", & ampb) ;
Acceso(L<a,b);
Ir al bucle;
Caso():
DestroyMountList(L) ;
Salir(0);
}
}