Red de conocimiento informático - Conocimiento de Internet de las cosas - Cómo programar para realizar automáticamente la función de reserva

Cómo programar para realizar automáticamente la función de reserva

#Incluir "stdio.h"

#Incluir "stdlib.h"

#Incluir "string.h"

int debería guardar = 0;

Estructura estudiante

{

Número de carácter[10]; //Número de estudiante

nombre de carácter[20];

char sex[4];

Comercio internacional;

Comercio internacional;

int egrade

int totle p>

int ave

char near time[10]; //Última hora de actualización

};

nodo de estructura typedef

{

Construir datos de estudiantes;

Nodo de estructura * siguiente

} nodo, * enlace;

Menú no válido( )

{

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *);

printf("\t1Ingresar datos del estudiante\t\t\t\t2Eliminar datos del estudiante\n") ;

printf("\t3Consultar información del estudiante\t\t\t\Modificar información del estudiante\n");

Printf("\t5Mostrar datos del estudiante\t\ t\t\t\ t6 Estadísticas de puntuaciones de los estudiantes\ n ");

Printf("\t7 Ordenar puntuaciones de los estudiantes\ t \ t \ t \ t8 Guardar datos de los estudiantes\ n ");

Printf(" \t9Obtener información de ayuda\t\t\t\tSalir del sistema\n");

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

}

void printstart()

{

printf("-\ n ");

}

Error no válido()

{

printf(" \ n = = = = & gt; Consejo: ¡Error de entrada! \ n ");

}

void Nofind()

{

printf(" \ n = = = = = & gt; Consejo: ¡No se puede encontrar el estudiante! \n ");

}

Void printc() //Esta función se utiliza para generar chino.

{

Printf("ID del estudiante\tNombre, sexo, puntaje en inglés, puntaje en matemáticas, puntaje en lenguaje C, puntaje promedio\ n "); printe(Node *p)//Esta función se utiliza para imprimir en inglés.

{

printf(" %-12s % s \ t % s \ t % d \ t % d \ t % d \ t % d \ t % d \ n " ,p->data.num,p->data.name,p->data.sex,p->data.egrade,p->data.mgrade,p-> ;data.cgrade,p ->data.totle,p->data.ave);

}

Nodo * localizar (enlace L, char find mess [ ], char namer num[]) //Esta función se utiliza para localizar el contacto calificado en la lista vinculada y devolver el puntero.

{

node * r;

If (strcmp (namernum, " num ")== 0)//Consulta por número de estudiante.

{

r = l-& gt; siguiente

mientras(r!=null)

{

if(strcmp(r->data.num,findmess)==0)

return r;

r = r->next;

}

}

Elseif (strcmp (namernum, " name ")== 0)//Consulta por nombre.

{

r = l-& gt; siguiente

mientras(r!=null)

{

if(strcmp(r->data.name,findmess)==0)

return r;

r = r->next;

}

}

Devuelve 0;

}

Void Add(Link l) //Agregar estudiante.

{

Nodos *p, *r, *s;

Número de carácter [10];

r = l;

s = l-& gt; siguiente;

mientras(r->; siguiente! = vacío)

r = r-& gt; //Pon el puntero al final.

while(1)

{

Printf("Ingrese su ID de estudiante (use ' 0 ':) para regresar al menú anterior);

p>

scanf("%s", número);

if(strcmp(num, "0")==0)

Romper ;

mientras(s)

{

if(strcmp(s-& gt; data.num, num)= 0)

{

printf(" = = = = = = & gt; Consejo: El estudiante con el ID de estudiante "%s" ya existe.

Si desea modificar, seleccione '4Modify'. \n ", número);

printstart();

printc();

Imprimir;

printstart();

printf(" \ n ");

Retorno;

}

s = s-& gt;Siguiente;

p>

}

p=(nodo*)malloc(tamañode(nodo));

strcpy(p-& gt;data.num,num );

p>

Printf("Por favor ingrese su nombre:");

scanf("%s ", p->data. nombre);

getchar( );

Printf("Ingrese su género:");

scanf("%s ", p-& gt; data . sex)

getchar();

Printf("Ingrese su puntuación en lenguaje C:");

scanf("%d ",&p->data .cgrade) ;

getchar();

Printf("Ingrese su puntaje de matemáticas:");

scanf("%d ", & ampp -> ; datos . m calificación);

getchar();

Printf("Ingrese su calificación de inglés:"); d ",&p->data.e calificación);

getchar();

p->data.totle = p->data.e calificación+p -> data.c calificación+p->data.m calificación;

p->;data.ave = p->data.totle/3;

//Entrada de información ha sido completado.

p->siguiente = NULL

r->siguiente = p;

r = p;

shoudsave = 1;

}

}

Void Qur(Link l) //Consulta a estudiantes

{

int sel

char find mess[20];

nodo * p;

if (! l-& gt; siguiente)

{

printf(" \ n = = = = = & gt; Consejo: ¡No hay información para consultar! \n "); }

printf(" \ n = = = = = & gt; 1 Buscar por número de estudiante\ n = = = = > 2 Buscar por nombre\ n "); ("%d ", & ampsel);

If(sel==1)//Número de estudiante

{

Printf("Ingrese el número de estudiante a encontrar: ");

scanf("%s ", buscar desorden);

p=Locate(l, findmess, " num ");

If(p)

{

printf(" \ t \ t \ t \ t \ t hallazgos \ n ");

printc();

printe(p);

printstart(); Otro

nofind();

}

Else if(sel==2) // Nombre

{

Printf("Ingrese el nombre que desea encontrar:");

scanf("%s ", busque desorden

p=Locate(l, findmess); , " nombre ");

if(p)

{

printf(" \ t \ t \ t \ t \ t hallazgos \ n ") ;

printstart();

printc();

printe(p);

printstart();

}

Otro

nofind();

}

Otro

Error();

}

Void Del(Link l) //Eliminar

{

int sel

Nodo* p, * r;

char encontrar desorden[20];

if (! l->Siguiente)

{

printf(" \n = = = = = > Consejo: ¡No se pueden eliminar datos! \n ");

p>

Return;

}

printf(" \ n = = = = = > 1 Eliminar por número de estudiante \ n = = = = > 2 Por nombre eliminar \n ");

scanf("%d ",& ampsel);

if(sel==1)

{

Printf("Ingrese el número de estudiante que desea eliminar:");

scanf("%s ", find mess

p=Locate(l, findmess,); " num ");

if(p)

{

r = l;

mientras

(r->Siguiente!=p)

r = r->Siguiente;

r->siguiente = p->Siguiente

Free(p);

printf(" \ n = = = = = & gt; Consejo: ¡El estudiante ha sido eliminado exitosamente!\n ");

shoudsave = 1;

}

Otro

nofind();

}

si no(sel==2)

{

Printf("Ingrese el nombre que desea eliminar:");

scanf("%s ", busque desorden);

p=Locate(l, findmess, " nombre ");

if (p)

{

r = l;

mientras(r->; siguiente!=p)

r = r-& gt; siguiente;

r-& gt ;siguiente = p->Siguiente ;

Free(p);

printf(" \n = = = = = > Consejo: ¡El estudiante ha sido eliminado exitosamente!\n ");

shoudsave = 1;

}

Otro

nofind();

}

Otro

Error();

}

Modificación no válida (enlace l)

{

nodo * p ;

char encontrar desorden[20];

if (!l-> siguiente)

{

printf(" \ n = = = = = & gt; Consejo: ¡No se pueden modificar datos! \n ");

Regresar;

}

Printf("Por favor ingrese el número de estudiante a modificar:");

scanf("%s ", find mess);

p=Locate (l, findmess, " num ");

If (p)

{

Printf("Ingrese su nuevo número de estudiante (originalmente % s):",p->data.num) ;

scanf("%s ",p->data.num);

Printf("Ingrese su nuevo nombre (originalmente %s): ",p-> ;data.name);

scanf("%s",p->data.name);

p>

getchar();

Printf("Ingrese su nuevo género (originalmente %s):", p-& gt; data. sex);

scanf("%s ", p-& gt; data. sex );

Printf("Ingrese su nueva puntuación en lenguaje C (originalmente %d):", p-& gt; data . cgrade

scanf("%d "); , &p->; datos . cgrade);

getchar();

Printf(" Ingrese su nueva calificación de matemáticas (era %d): ",p-> .m calificación)

scanf("%d",&p->data.m calificación)

getchar();

Printf("Por favor ingresa tu nueva calificación de inglés (originalmente %d):", p-& gt; data . e calificación);

scanf("%d",&p->;data.e calificación)

;

p->;data.totle = p->data.e calificación+p->data.c calificación+p->data.m calificación;

p->; data. ave = p-& gt; data.totle/3;

printf(" \ n = = = = = & gt; Consejo: ¡Los datos se han modificado correctamente! \ n ");

shoudsave = 1;

}

Otro

nofind();

}

Visualización no válida (enlace l)

{

int count = 0;

nodo * p; p = l-& gt; siguiente;

if(!p)

{

printf(" \ n = = = = & gt ; Consejo: ¡No hay datos para mostrar! \ n ");

Return;

}

printf(" \ t \ t \ t \ tMostrar resultados \ n ")

printstart();

printc();

printf(" \ n "); /p>

{

printe(p);

p = p-& gt;Siguiente;

}

printstart();

printf(" \ n ");

}

Void Tongji (bucle l)

{

Los nodos *pm, *pe, *pc, *pt, *pa//se utilizan para señalar el contacto con la puntuación más alta.

nodo * r = l-& gt; siguiente

if(!r)

{

printf(" \ n = = = = = & gt; Consejo: ¡No hay datos para contar! \ n ");

Regresar;

}

pm = PE = PC = pt = pa = r;

mientras(r!=null)

{

if(r-& gt;datos . c grado & gt ; = PC->datos.cgrade)

PC = r

if(r->datos . m grado>= pm->datos.mgrade)

pm = r;

if(r->data. e calificación>= PE->data.egrade)

PE = r;

if(r-& gt;data.totle & gt= pt-& gt;data.totle)

pt = r;

if(r->data.ave & gt=pa->data.ave)

pa = r;

r = r->siguiente;

}

Printf (" -Resultados estadísticos.

Printf("Puntuación total más alta:\t%s %d \n ",pt->data.name,pt->data.totle);

Printf( "Puntuación promedio más alta:\t%s %d \n ",pa->data.name,pa->data.ave);

Printf("Más alta en inglés:\n t% s %d \n ",PE->data.name,PE->data.e calificación);

Printf("Puntuación más alta en matemáticas:\t%s %d \ n ", pm->data.name, pm->data. m grado);

printf(" Lenguaje C más alto:\t%s %d \n ",PC-& gt;data.name , PC->data.cgrade);

printstart();

}

Clasificación no válida (enlace l)

p>

{

Enlace ll;

Nodo *p, *rr, *s;

ll =(Enlace)malloc(tamañode(Nodo )); /Se utiliza para crear una nueva tabla de enlaces.

ll->next = NULL

if (l->next==NULL)

{

printf (" \ n = = = = = & gt; Consejo: ¡No hay datos para ordenar!\n ");

Regresar;

}

p = l- & gt; next;

while(p)

{

s =(Node *)malloc(sizeof(Node));/ /El nuevo contacto es Se utiliza para guardar información.

s->data = p->data;

s->siguiente = NULL

rr = ll

while(RR->Siguiente!= NULL & amp& ampRR->Siguiente->data.totle >= p->data.totle)

RR = RR-& gt; >

if (RR-& gt; next==NULL)

RR-& gt; next = s;

Otros

{

s->siguiente = RR->siguiente;

RR->siguiente = s;

}

p = p -& gt; siguiente;

}

Gratis (l

l ->siguiente = ll->Siguiente;

printf(" \n = = = = = > Consejo: ¡Clasificación completada!\n ");

}

Guardado no válido (enlace l)

{

ARCHIVO * fp

nodo * p;

int flag=1, recuento = 0;

fp=fopen ("c:\\estudiante "," WB ");

if(fp==NULL)

{

printf(" \ n = = = = = & gt; Consejo: ¡Ocurrió un error al volver a abrir el archivo! \n ");

Salir (1 );

}

p = l-& gt;Siguiente;

while(p)

{

if(fwrite(p,sizeof(Node),1,fp)== 1)

{

p = p-& gt; siguiente;

cuenta++;

}

Otro

{

flag = 0;

Romper

}

}

if(flag)

{

printf(" \ n = = = = = & gt; Consejo: El archivo se guardó correctamente. (Se han guardado %d registros).\ n", recuento);

debe guardar = 0;

}

p>

fclose(FP);

}

void main()

{

Enlace l; // tabla de enlaces

ARCHIVO * fp//puntero de archivo

int sel

char ch

char jian

int count = 0;

Nodo *p, *r;

printf("\t\t\t\tSistema de gestión de puntuación de estudiantes\n\t\t-01 Software College Wu(200155304)\ n ");

l=(Nodo* )malloc(tamaño de(Nodo)).

l-& gt;next = NULL

r = l;

fp=fopen("C:\\estudiante","Rb");

if(fp==NULL)

{

printf(" \ n = = = = = & gt; Consejo: El archivo aún no existe .

¿Quieres crearlo? (sí/no)\ n ");

scanf("%c ", & amp Jane);

if(jian=='y'||jian==' Y ')

fp=fopen("C:\\estudiante "," WB ");

Otro

Salir (0);

}

printf(" \ n = = = = = & gt; Consejo: El archivo se ha abierto y se están importando registros...\ n "); p>And(!feof(fp))

{

p=(nodo*)malloc(tamañode(nodo));

Si (fread ( p, sizeof (node), 1, FP)) //Pon el contenido del archivo en el contacto

{

p->; . >r-& gt; next = p;

r = p; //Cuelgue este contacto en la conexión

count++;

} p>

}

fclose(FP); //Cerrar el archivo

printf(" \ n = = = = = & gt; Consejo: Después de importar registros , * * * %d registros importados.\n ", count);

while(1)

{

menu();

Printf("Seleccione una operación:");

scanf("%d ", & ampsel);

if(sel==0)

{

if(shoudsave==1)

{ getchar();

printf(" \ n = = = = & gt; Consejo :Los datos han sido cambiados ¿Desea guardar los cambios en el archivo (s/n)?

scanf("%c ", & ampch);

if (ch). =='y'||ch=='Y ')

Guardar (l);

}

printf(" \ n = = = = = > Consejo: Has salido del sistema \n ");

Pausa;

Cambiar (seleccionar)

p>

{

Caso 1: Agregar (l); //Agregar estudiantes

Caso 2: Del (l); //Eliminar estudiantes

Caso tres: Corán (izquierda); ); break; // consultar estudiantes

Caso cuatro: modificar (l); // modificar estudiantes

Caso 5: Disp(l);

Caso 6: Tongji(l); Break; //Estadísticas de estudiantes

Caso 7: Sort(l);/ /Ordenar estudiantes

Caso 8: Save(l); //Guardar estudiantes

Caso 9: printf ("\ t \ t \ t = = = = = = Información de ayuda = = = = = = = "); romper;

Predeterminado: error(); getchar(); romper;