Estructura de datos: código fuente del sistema de gestión de inventario y ventas de productos (lenguaje c o c++)
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) { p > k=strcmp(p->pname.pname3); if(k==0) romper; } p > 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"); p > 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] ; 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(); p> 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); printf("Ingrese el nombre del producto a consultar:"); scanf(%s",&b ); Visita(L ir al bucle; caso (): DestroyMountList(L) ; salir(0); } } Salir del ciclo. }