Red de conocimientos turísticos - Información de alquiler - Utilice la programación en lenguaje C para ingresar información sobre diez productos básicos comunes en el mercado y realizar la función de clasificación de salida.

Utilice la programación en lenguaje C para ingresar información sobre diez productos básicos comunes en el mercado y realizar la función de clasificación de salida.

El sistema de gestión de productos que construí hace mucho tiempo cuando era estudiante de primer año en la universidad tenía una estructura de múltiples archivos. Simplemente compilé Mainfile.c durante la compilación. Todavía lo ignoraba en ese momento y usé goto. declaración, pero puede ser reemplazado por un archivo de datos de bucle. c#include

#include /*file*/

#include /*lista enlazada*/

#include /*Fuente*/

#include "Headfile.h"

# define LEN sizeof(struct thing)

int n=0,m=0;/*variable del programa principal*/

struct thing *ha=NULL;/*puntero del programa principal* /

FILE *fp=NULL ;

estructura cosa/*datos del producto*/

{

long d;

nombre de char[10];

int num;

int mon;

long tol;

estructura cosa * next;

};

p>

estructurar cosa *creat(void)/*create*/

{

estructurar cosa * headc,*p1,*p2;

char q;

n=1;

p1=p2=(struct thing *)malloc(LEN);

C: printf("Crear un producto ->\n");

printf("Número:");

scanf("%ld" ,&p1->d);

printf ("Nombre:");

scanf("%s",&p1->nombre);

printf ("Cantidad:");

scanf ("%d",&p1->num);

printf("Precio:");

scanf ("%d",&p1->mon);

//printf("Volumen de ventas:");

//scanf("%ld",&p1->tol );

p1->tol=p1 ->num*p1->mon;

headc=NULL;/*La dirección principal está vacía*/

B: printf("----------- ---------\n");

printf("¡Misión completada!\n");

printf("¿Crear otro producto?\n") ;

printf("1.Sí\n");

printf("2.No\ n");

printf("3.Salir del sistema\n");

printf("Ingrese el orden:");

scanf(" %s",&q);

printf(" --------------------\n");

cambiar (q)

{

> caso 49:

if(n==1)

{

headc=p1;/*Definir encabezado de dirección*/

}

else

{

p2->next=p1;/*Conectar a la dirección anterior*/

}< / p>

n=n+1;

p2=p1;

p1=(estructura cosa *)malloc(LEN);

printf ( "Crear un producto->\n");

printf("Número:");

scanf("%ld",&p1->d);

printf("Nombre:");

scanf("%s",&p1->nombre);

printf("Cantidad:");

scanf("%d",&p1->num);

printf("Precio:");

scanf("%d",&p1->mon ) ;

//printf("Volumen de ventas:");

//scanf("%ld",&p1->tol);

p1 - >tol=p1->num*p1->mon;

ir a B;

caso 50:

if(n==1)

{

headc=p1;

}

else

{

p2- > next=p1;

}

p2=p1;

p1=(estructura cosa *)malloc(LEN);

p2 ->next=NULL;/*La última dirección está vacía*/

printf("Por favor, espere...\n");

ha=headc;

return(headc);

caso 51:

ha=headc;printf("¡Gracias!");ep();exit(0);break;

predeterminado:

printf("--------------------------\n¡Error!\n ");

ir a C;

}

}

void print(struct thing *headp)/*output*/

{

estructura cosa *p;

printf("%d registro:\n",n);

p=headp ;/*conversión de puntero*/

if(headp!=NULL)/*puntero no nulo*/

{

hacer

{

printf("Número:%5ld Nombre:%10s Cantidad:%5d Precio:%5d Volumen de ventas:%5ld\n",p->d,p->nombre,p- >num,p->mon,p- >tol);

p=p->

;next;

} while(p!=NULL);/*Datos de dirección de salida*/

}

printf("------ --------------\nPor favor, espere...\n");

}

estructura cosa *revise(estructura cosa *headr, long d)/*modify*/

{

estructura cosa *p1,*p2;

if(headr==NULL)/*la dirección principal es vacío */

{

printf("¡Sin registro!\n");

ir a F;

}

p1=headr;/*Conversión de dirección*/

while(d!=p1->d&&p1->next!=NULL)/*Encontrar la dirección que cumpla con las condiciones*/

{

p2=p1;

p1=p1->siguiente;

}

si(d= =p1 ->d)

{

printf("Revisar la mercancía->\n");

printf("Número:");

scanf("%ld",&p1->d);

printf("Nombre:");

scanf("%s",&p1- >nombre );

printf("Cantidad:");

scanf("%d",&p1->num);

printf("Precio :" );

scanf("%d",&p1->mon);

//printf("Volumen de ventas:");

/ /scanf ("%ld",&p1->tol);

p1->tol=p1->num*p1->mon;

printf("¡Revisión completa!\ n" ,d);

}

else

{

printf("¡Revisar falla del software, no se encontró el software!\ n" );

}

F: return(headr);

}

estructura cosa *del(estructura cosa *headd ,long d)/*Delete*/

{

estructura cosa *p1,*p2;

if(headd==NULL)/*Dirección principal está vacío* /

{

printf("¡Sin registro!\n");

ir al final;

}

p1=headd;/*Conversión de dirección*/

while(d!=p1->d&&p1->next!=NULL)/*Encontrar la dirección que cumpla con las condiciones*/

{

p2=p1;

p1=p1->siguiente;

}

si(d ==p1- >d)

{

if(p1==headd)/*La dirección que cumple las condiciones es la dirección principal*/

{

p>

headd=p1->next;/*Establezca la siguiente dirección como dirección principal*/

}

else

{

p>

p2->next=p1->next;/*Dirección de interrupción de conexión*/

}

printf("Eliminar el número %ld .\n", d);

n=n-1;

}

más

{

printf(" ¡Error de nodo eliminado, nodo no encontrado!\n");

}

end:return(headd);

}

estructura cosa *insert(estructura cosa *headi,estructura cosa *th)/*insertar*/

{

estructura cosa *p0,*p1,* p2;

p1=headi;/*dirección de datos antigua*/

p0=th;/*dirección de datos nueva*/

if(headi== NULL)/*old La dirección de datos está vacía*/

{

headi=p0;

p0->next=NULL;

}

else

{

while((p0->d>p1->d)&&(p1->siguiente!=NULL)) /*Descubre las condiciones que coinciden con la Dirección*/

{

p2=p1;

p1=p1->next;

}

if(p0->d<=p1->d)

{

if(headi==p1)/*datos vacíos*/

{

headi=p0;

}

más

{

p2->siguiente=p0;

}

p0->siguiente=p1;

}

más

{

p1->next=p0;/*Conectar a la dirección anterior*/

p0->next=NULL;

}

}

n=n+1;

return(headi);

}

void run() /*Cargar archivo*/

{

estructura cosa *h1;

ARCHIVO *fp;

h1=(estructura cosa * )malloc(LEN);

//fp=fopen("set_n","rb");

if((fp=fopen("set_n","rb") )==NULL)/*Leer archivo*/

{

//fp=fopen("set_n","wb+");

if( (fp=fopen("set_n" ,"wb+"))==NULL)/*Crea el archivo si no está disponible*/

{

printf("¡Error!\n ");

exit(0);

}

printf("Sin datos. Por favor C

reat A New!\n");

h1=creat();/*Crear función*/

save(h1,fp);

fclose (fp);

ir a D;

}

load(fp);/*conversión de puntero*/

D: fclose (fp);

}

void query()/*función de opciones de consulta*/

{

print(ha) ;

}

void add()/*Función para agregar opciones*/

{

estructura cosa *h3,*th ;

printf("Ingrese los datos agregados:\n");

th=(struct thing *)malloc(LEN);

printf(" Número:");

scanf("%ld",&th->d);

printf("Nombre:");

scanf(" %s",&th->nombre);

printf("Cantidad:");

scanf("%d",&th->num);

printf("Precio:");

scanf("%d",&th->mon);

//printf("Volumen de ventas:");

//scanf("%ld",&th->tol);

th->tol=th->num*th->mon;

h3 =insert(ha,th);/*Agregar función*/

print(h3);

ha=h3;/*Conversión de puntero*/

}

void remove()/*Función para eliminar opciones*/

{

struct thing *h4;

long dn;

printf("Ingrese el número eliminado:");

scanf("%ld",&dn);

h4=del(ha,dn) ;/*Función de eliminación*/

print(h4);

ha=h4;/*Conversión de puntero*/

}

void change()/*Función para modificar opciones*/

{

struct thing *h5;

long dr;

printf("Ingrese el número de mercancías que desea revisar:");

scanf("%ld",&dr);

h5=revise(ha,dr);/* Modificar función*/

print(h5);

ha=h5;/*conversión de puntero*/

}

void ep ()/*Salir de guardar*/

{

ARCHIVO *fp;

fp=fopen("set_n","wb");

if((fp=fopen("set_n","wb"))==NULL)

{

printf("¡Error!");

salir(0);

}

guardar(ja,fp);

fclose(fp);

}

void save(struct thing *p,FILE*fp)/*save function*/

{

if(p!=NULL)

{

hacer

{

fwrite( p,LEN,1,fp);/*Guardar información de dirección*/

p=p->next;

} while(p!=NULL);

}

printf("¡Guardar datos!\n");

}

void load(ARCHIVO *f)/*función de lectura* /

{

estructura cosa *p1,*p2,*headl=NULL;

/*ha=(estructura cosa *)malloc(LEN); /p>

if(fread(ja,LEN,1,f)!=1)

{

gratis(ja);

ja =NULL;

ir a E;

}*/

p1=p2=(estructura cosa *)malloc(LEN);

while(fread(p1,LEN,1,f)!=0)/*leer archivo*/

{

if(n==0)

{

headl=p1;

}

else

{

p2-> next= p1;

}

p2=p1;

n++;

p1=(estructura cosa *)malloc(LEN) ;

}

p2->next=NULL;

ha=headl;

} Headfile.hvoid run();

void query();

void add();

void eliminado();

void menu();

void save();

void ep();

void load();

void change();Mainfile.c#include

#include /*archivo*/

#include /*lista enlazada*/

# incluir /*Font*/

#include "Headfile.h"

#include "Datafile.c"

void main() /*Función principal*/

{

char i;

printf(" *************** * ***********************************************\norte" ) ;

printf("\n");

printf(" ** ¡Bienvenido! < Sistema de gestión de mercancías > - XuHaiPing WarSki **\n");

printf("\n

");

printf(" ************************************* ************************\n");

printf("\n\n\n"); p>

run();/*Inicialización*/

A: printf("************************ **\n" );

printf("** 1.Consultar productos **\n");

printf("** 2.Agregar productos **\n ");

printf("** 3. Mercancías eliminadas **\n");

printf("** 4.Revisar mercancías **\n");

printf("** 5.Guardar productos **\n");

printf("** 6.Limpieza de pantalla **\n");

printf(" ** 7.Salir del sistema **\n");

printf("************************ **\n");

printf("Ingrese su pedido:");

scanf("%s",&i);

cambiar (i)

{

caso 49:printf("-------------------------- \nPor favor espere...\n");query() ;break;/*Consulta*/

caso 50:printf("--------------- -----------\nPor favor, espere...\n" );add();break;/*Agregar*/

caso 51:printf("---- ----------------------\nPor favor, espere...\n");removed();break;/*remove*/

caso 52:printf("------------------- -\nPor favor espere...\n");cambiar();romper;/*Modificar*/

caso 53:printf("-------------- ------\nPor favor espere...\n");ep();break;/ *Guardar*/

caso 54:system("cls");break;/*Borrar pantalla*/

caso 55:ep();printf("---- ----------------------\n¡Gracias!\n");exit (0);break;/*Salir*/

predeterminado:printf("--------------------------\nError!\n") ;goto A;/*return*/

}

ir a A;

}