Red de conocimiento informático - Aprendizaje de código fuente - Estructura de datos: código fuente del sistema de gestión de inventario y ventas de productos (lenguaje c o c++)

Estructura de datos: código fuente del sistema de gestión de inventario y ventas de productos (lenguaje c o c++)

&(p->cantidad de ventas),&(p->tiempo de ventas).año),&((p->tiempo de ventas).mes),&((p->tiempo de ventas).día)); ->siguienteproducto;

q->siguienteproducto=p;

q=p

}

}

return ok;

}//ProductInsert

void ProQuantity_add(sqmountlink&L,char pkindname 1[],char pname 1[],int n)

{//ProductInsert

{/ Agregue la cantidad total de un determinado producto de la lista de enlaces vinculados vinculados a la tabla secuencial y la cantidad total de productos que se agregarán es n

int i, k;

plinklist p;

for(i=0;i

Continuar

De lo contrario

Desconectar

}

if(i

{

for(p=L.kindelem[i].primerproducto;p!=NULL;p=p->siguienteproducto)

{

k=strcnp(p->pname.pname);

if(k==0)

{

p->cantidad total=p-> . cantidad total+n;

printf("Ver el resultado de cada uno de los productos agregados: %s %d%d,%d %d,%d,%d\n",p-pname, p ->cantidad total,(p->fecha de los bienes).año,(p->. fecha de los bienes).mes,(p->bienes).día,

p->cantidad de venta,(p->tiempo de ventas) .año,(p->tiempo de ventas).mes,(p->tiempo de ventas).día) )

}

}

}

}

}/ProQuantity_add

void Visit(sqmountlink&L,char pkindname3[],char pname3[])

{//In In lista de secuencia lista de enlaces L, encuentre cada pieza de información sobre productos que pertenecen a una determinada categoría de producto

int i,k;

plinklist p;

for( i=0;i

if (strcmp((L.kindelem[i]), pkindname.pkindname3)! = 0)

> Continuar

De lo contrario

Desconectar;

}

if(i

{

for(p=L.kindelem[i].firstprodicy;p. =ULL; p=p!=NULL; p=p->nextproducy)

{

k=strcmp(p->pname.pname3);

if(k==0)

romper;

}

if(k!=0)

printf("Este producto no existe:\n")

else

{

printf("Generando información diversa sobre el producto con la consulta:\n");

printf("%s %s %s %d %d,%d,%d %d ,%d,%d\n",(L. k!pkindname,p->pname,p->cantidad total,(p->fecha de bienes).año,(p->fecha de bienes).mes,(p->fecha de bienes). ).día,

p->.cantidadventa,(p->tiempoventas).año,(p->tiempoventas).mes,(p->tiempoventas).día);

}

}

}//Visita

void DisplayList(sqmountlink&L)

{//Muestra los elementos a los que pertenece cada el producto pertenece Categoría de producto, nombre del producto, número total de productos, fecha de compra, cantidad de ventas y tiempo de ventas

int i;

plinklist p;

printf( "Clase de producto Producto Fecha de compra Cantidad vendida Hora de venta \n")

for(i=0;i

{

if(! (L.kindelem[i],primerproducto))

printf("%s\n",(L.kindelem[i]).pkindname);

for(p= L.kindelem[i].firstproduct;p;p=p->. nextproduct)

printf("%s %s %s %d %d,%d,%d % d,%d ,%d \n",(L.kindelem[i]).pkindname,p->pname,p->cantidad total,(p->fecha de mercancías) .año,(p->fecha de mercancías).mes, (p-> fecha de mercancías).día,p->cantidad de ventas,(p->tiempo de ventas).año,(p->tiempo de ventas).mes,(p->tiempo de ventas).día);

}

}

}/DisplayList

void DestoryMountList(sqmountlink&L)

{/Destruye el montaje de tabla secuencial existente

lista enlazada ed L

int i;

kindlnode *p;

for(i=L.length;i>=0;

{

p=&(L.kindelem[i]);

if(*p).firstproduct==NULL)

gratis(p );

else

{

while((*p).firstproduct;q->nextproduct;q=q->nextproduct);

gratis(q);

}

gratis(q);<

}

}

}/DestroyMountList

void menu_operation()

{//Menú de operaciones

printf("---- Ingrese la operación a realizar: - ------\n")

printf("---- clase de producto agregada: 1------\n");

printf( " ---- producto agregado: 2-----\n");

printf("---- cantidad de producto agregado: 3-----\n");

printf("---- consultar cada producto pertenece a la clase de producto, el número total de productos, la fecha de compra, el número de productos vendidos, el momento de la venta:4------ - ----\n")

printf("---- Libere el espacio de memoria ocupado por L y salga del programa: 0-----\n");

}//menu_operación

/*---------- ---- Programa principal-------------*

void main(void)

{

int orden,

int i,n;

char a[30] ;

p>

char b[30];

sqmountlink L;

InitMountList(L);

printf("-- --- Creación de clase de producto inicial, lista de enlaces montada en la tabla de pedidos de productos L-----\n");

CreatMuntList(L);

DisplayList(L );

printf("----- Clase de producto inicial, lista de pedidos de productos tabla de cadena vinculada L creación completa -----\n");

menu_operation();

bucle:

printf("Orden de entrada:");

scanf("%d", &order);

switch(orden )

{

caso 1:

printf("Número de clases de productos

para agregar:");

scanf("%d", &i);

kindinsert(L, i);

printf("Salida del producto modificado tabla de gestión de inventario:\n");

DisplayList(L);

ir a bucle;

caso 2:

printf( "Debe agregar el nombre de la categoría de producto a la que pertenece el producto:")

scanf(" %s",&a);

printf("El número de productos para agregar a esta categoría de producto:" );

scanf("%d",&i);

ProductInsert(L,a,i);

printf("Salida de la tabla de gestión de inventario de productos modificada:\n" );

DisplayList(L);

goto loop;

caso 3:

printf(" Introduzca el nombre de la clase de producto a la que pertenece el producto cuya cantidad se va a añadir. ");

geto loop;

case 3 :

printf ("Ingrese el nombre de la clase de producto a la que pertenece el producto cuya cantidad se va a agregar."):");

Escanear archivo ("%s" ,&a);

Imprimir archivo ("Ingrese el nombre de la categoría del producto que se agregará: "

Escanear archivo ("%s",&a); p>

Imprimir archivo (" Ingrese el nombre del producto cuya cantidad debe agregarse: ");

scanf("%d",&n);

ProQuantity_add (L,a,b,n);

printf("Importación de la tabla de gestión de inventario de productos modificada:\n");

DisplayList(L );

goto loop ;

caso 4:

printf("Ingrese el nombre de la clase de producto a la que pertenece el producto a quiquiar:");

scanf("%s",&b);

p>

printf("Ingrese el nombre del producto a consultar:");

scanf(%s",&b );

Visita(L

ir al bucle;

caso ():

DestroyMountList(L) ;

salir(0);

p>

}

}

Salir del ciclo.

}