c sistema de gestión del desempeño de los estudiantes de idiomas
Sistema de gestión del desempeño de los estudiantes de idiomas c
#Incluye "stdio.h"
#Incluye "stdlib.h"
# Contiene " string.h "
int debe guardar = 0; /* */
estructura estudiante
{
carácter Número[10];/*ID de estudiante*/
nombre char[20];
sexo char[4];
Comercio internacional;
Comercio internacional;
int egrade
int totle
int ave
char near time[10];/* Hora de la última actualización*/
};
nodo de estructura typedef
{
Construir datos de estudiantes;
Nodo de estructura * siguiente
} nodo, * enlace;
Menú no válido()
{
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *); p >
Printf("\t1Registrar 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("\t5Guardar información del estudiante\ 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 al estudiante! \ n ");
}
Void printc() /*Esta función se utiliza para generar chino*/
{
Printf ("ID del estudiante\tNombre, género, puntaje en inglés, puntaje en matemáticas, puntaje en lenguaje C, puntaje promedio\ n "); *Esta función se utiliza para generar inglés*/
{
printf(" -12s s \ t s \ t d \ t d \ t d \ t d \ t d \ n ", p- gt ; datos.num, p- gt; datos.nombre, p- gt; datos.sexo, p- gt; datos.egrade, p- gt;
;data.cgrade,p-gt;data.totle,p-gt;data.ave);
}
Nodo * localizar (enlace L, char buscar desorden [], char namernum [])/*Esta función se utiliza para localizar contactos calificados en la lista vinculada y devolver el puntero*/
{
node * r;
If (strcmp (namernum, "num") == 0)/*Consulta por número de estudiante*/
{
r = l- gt
mientras(r!=null)
{
if(strcmp(r- gt; data.num, findmess)==0)
return r;
r = r- gt; siguiente;
}
}
Elseif (strcmp (namernum, " nombre" ) = = 0)/*Consulta por nombre*/
{
r = l- gt;
mientras(r!= Vacío)
{
if(strcmp(r- gt; data.name, findmess)==0)
return r;
r = r- gt; siguiente;
}
}
Devuelve 0;
}
Anular agregar (Enlace l) /*Agregar estudiante*/
{
Nodo *p, *r, *s;
Número de carácter [10 ]; p>
r = l;
s = l- gt; siguiente
mientras(r->; siguiente!=null)
p >
r = r- gt; next; /*Pon el puntero al final*/
while(1)
{
Printf ( "Por favor ingrese su número de estudiante (use '0':) para regresar al menú anterior);
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.
¡Seleccione "4Modify" para modificar! \n ", número);
printstart();
printc();
Imprimir;
printstart();
printf(" \ n ");
Retorno;
}
s = s-gt;
}
p=(nodo*)malloc(sizeof(nodo));
strcpy(p- gt; data.num, num);
Printf("Por favor ingrese su nombre:");
scanf("s",p-gt;data.name);
getchar();
p>Printf("Ingrese su género:");
scanf("s", p- gt; data. sex);
getchar(); /p>
Printf("Ingrese su puntuación en lenguaje C: ");
scanf("d ", ampp->; data . cgrade;
getchar( );
Printf("Ingrese su calificación de matemáticas:");
scanf("d", ampp->;data. m calificación);
getchar();
Printf("Ingrese su calificación de inglés: ");
scanf("d ", ampp->; data . e calificación);
getchar();
p->; datos. totle = p- gt; datos e calificación p- gt; p>
p->;data.ave = p- gt;data.totle/3;
/*La entrada de información se ha completado*/
p ->; siguiente = NULL
r- gt;siguiente = p;
r = p;
shoudsave = 1;
} p>
}
Void Qur(Enlace l) /*Consultar estudiantes*/
{
int sel
char encontrar desorden[20];
nodo * p;
if (!l- gt; siguiente)
{
printf( " \ n = = = = = gt; Consejo: ¡No hay información para consultar! \n ");
Return;
}
printf(" \n = = = = = gt; 1 Buscar por número de estudiante\n = = = => 2Buscar por nombre\n ");
scanf("d", ampsel);
If(sel==1)/*ID de estudiante */ p >
{
Printf("Ingrese el número de estudiante que desea encontrar: ");
scanf("s", busque desorden
<); p >p=Locate(l,findmess," num");if (p)
{
printf(" \ t \ t \ t \ t \ t hallazgos \ n ");
printstart(
printc();
imprimir(p);
printstart(); >Otro
nofind();
}
Else if(sel==2) /* nombre */
{
Printf("Ingrese el nombre que desea buscar: ");
scanf("s ", busque desorden
p=Locate(l); , findmess , " nombre ");
if(p)
{
printf(" \ t \ t \ t \ t \ t hallazgos \ n ") ;
printstart();
printc();
printe(p);
printstart(); p>
}
Otro
nofind();
}
Otro
Error(
}
Void Del(Enlace l) /* Eliminar */
{
int sel
<); p> Nodo *p, *r;char find mess[20];
if (! l- gt; next)
{
printf(" \ n = = = = = gt; Consejo: ¡No se pueden eliminar datos! \n ");
printf(" \ n = = = = = gt; 1 Eliminar por número de estudiante \ n = = = = > 2 Eliminar por nombre \ n ");
scanf("d ", ampsel);
if(sel==1)
{
Printf("Ingrese el número de estudiante que desea eliminar: "
);scanf("s", buscar desorden);
p=Locate(l, findmess, "num");
if (p)
{
r = l;
mientras(r->; siguiente!=p)
r = r- gt;
r- gt; next = p- gt; next;
Free(p);
printf("\n = = = = = gt; Consejo: El estudiante ¡Se ha eliminado correctamente! \ n ");
shoudsave = 1;
}
Otro
nofind();
}
else if(sel==2)
{
Printf("Ingrese el nombre que desea eliminar: ");
scanf("s", buscar desorden);
p=Locate(l, findmess, "nombre");
if (p)
{
r = l;
mientras(r->; siguiente!=p)
r = r- gt;
r-gt; next = p-gt; next;
free(p);
printf("\n = = = = = gt; Consejo: El estudiante ha sido eliminado exitosamente! \n ");
>shoudsave = 1;
}
Otros
nofind();
}
Otros p>
p>
Error();
}
Modificación no válida (enlace l)
{
nodo * p;
char encontrar desorden[20];
if (!l- gt; siguiente)
{
printf (" \ n = = = = = gt; Consejo: ¡No se pueden modificar datos! \ n "
Return
}
Printf( "Por favor ingrese la información que desea modificar. Número de estudiante: ");
scanf("s ", find mess
p=Locate(l, findmess, " num); ");
If (p)
{
Printf("Ingrese su nuevo número de estudiante (originalmente s): ", p- gt; data num);
scanf("s",p-gt;data.num);
Printf("Ingrese su nuevo nombre (originalmente s):",p- gt;datos.nombre );
scanf("s ", p- gt; datos. nombre
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 de lenguaje C (originalmente d): ",p-gt;data.cgrade);
scanf("d",ampp->data.cgrade);
getchar();
Printf("Ingrese su nueva puntuación de matemáticas (originalmente d):", p- gt; data. m calificación);
scanf( "d", ampp->data.m calificación);
getchar();
Printf("Ingrese su nueva calificación de inglés (originalmente d): ", p- gt ; datos .e grado);
scanf ("d", ampp->; datos .e grado
p->; .e grado p-gt; datos. c grado p-gt; datos m
p->; p>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;
node * p;
p = l- gt; siguiente;
if(!p)
{
printf(" \ n = = = = = gt; Consejo : ¡No hay datos para mostrar! \n ");
Regresar;
}
printf
(" \ t \ t \ t \ tMostrar resultados\ n ");
printstart()
printc(); ");
mientras(p)
{
printe(p);
p = p- gt; siguiente ;
}
printstart();
printf(" \ n ");
}
Vacío Tongji (Bucle l)
{
Los nodos *pm, *pe, *pc, *pt, *pa/* se utilizan para señalar el contacto con la puntuación más alta*/< / p>
nodo * r = l- gt; siguiente
if(!r)
{
printf(" \ n = = = = = gt; Consejo: ¡No hay datos para contar! \ n ");
Regresar;
}
pm = PE = PC = pt; = pa = r;
while(r!=null)
{
if(r- gt;data . c grado gt;= PC-> datos .cgrade)
PC = r;
if(r- gt; datos . m grado gt; = pm->; datos.mgrade)
pm = r;
if(r- gt; data. e calificación gt; = PE- gt; data.egrade)
PE = r;
if (r- gt; data.totle gt= pt- gt; data.totle)
pt = r;
if (r- gt; data.ave gt= pa- > ;data.ave)
pa = r;
r = r- gt; siguiente;
}
Printf (" -Resultados estadísticos.
Printf("Puntuación total más alta: \ts d \n ", pt- gt; data.name, pt- gt; data . totle
Printf("Promedio más alto); Puntos: \ts d \n ", pa- gt; data.name, pa- gt; data. ave);
Printf("Más alto en inglés: \ts d \n ", PE- gt ; datos.nombre, PE- gt; datos . e grado);
Printf("Puntuación más alta en matemáticas: \ts d \n ", pm- gt; datos.nombre, pm- gt; datos . m grado);
printf(" Lenguaje C más alto: \ts d \n ", PC- gt; data.name, PC- gt; data . cgrade
); printstart( );
}
Clasificación no válida (enlace l)
{
Enlace ll;
Node* p, *rr, *s;
ll =(Link)malloc(sizeof(Node) /*Se usa para crear una nueva tabla de enlaces*/
ll- gt; siguiente = NULL
if (l- gt; siguiente==NULL)
{
printf(" \ n = = = = = gt; Consejos: ¡No hay datos para ordenar! \n ");
Volver;
}
p = l- gt; Siguiente;
while(p)
{
s =(Node *)malloc(sizeof(Node) /*Los nuevos contactos se utilizan para guardar información*/
s-gt; datos = p-gt; datos
s-gt; siguiente = NULL
rr = ll
mientras(RR-> ; siguiente! = NULL amp ampRR- gt; siguiente- gt; datos.totle gt= p->; (RR- gt; siguiente==NULL)
RR- gt; siguiente = s;
Otro
{
s- gt; siguiente = RR-gt; siguiente;
RR-gt; siguiente = s;
p = p-gt; p>
}
Gratis(l);
l- gt; siguiente = ll- gt;
printf(" \ n = = = = = gt; Consejo: ¡Clasificación completada! \ n ");
}
Guardado no válido (enlace l)
{
ARCHIVO * fp
nodo * p;
int bandera=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;
<p>mientras(p)
{
if(fwrite(p, tamañode(Nodo), 1, fp)==1)
{ p>
p = p- gt;
cuenta;
}
Otro
{
bandera = 0;
Romper;
}
}
si (bandera)
{
printf(" \ n = = = = = gt; Consejo: El archivo se guardó correctamente. (Se guardaron d registros.)\n", count);
debe guardar = 0;
}
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\t\tSistema de gestión del rendimiento estudiantil\n\t\t-Huang Huan(Número 32)\n");
l=(Node*)malloc(sizeof(Node)) .
l- gt; siguiente = NULL
r = l
fp=fopen("C:\\estudiante", "Rb");
if(fp==NULL)
{
printf(" \ n = = = = = gt; Consejo: El archivo no existe todavía. quiero crear ¿Lo es? (sí/no)\n");
scanf("c", amp Jane);
if(jian=='y'|| jian== 'Y ')
fp=fopen("C:\\student "," WB ");
Otro
Salir(0) ;
p>
}
printf(" \ n = = = = = gt; Consejo: El archivo se ha abierto y los registros se están importando...\ n ");
And(!feof(fp))
{
p=(nodo*)malloc(sizeof(nodo));
If (fread ( p, sizeof (nodo), 1, FP))/*Coloque el contenido del archivo en el contacto*/
{
p->; next = NULL
r- gt; next = p;
r = p; * Pendiente de este contacto en la conexión */
count ; p>
}
}
fclose(FP); /*Cerrar el archivo*/
printf(" \ n = = = = = gt; Consejo: Después de importar los registros, * * *Se importaron los registros D.
\n ", contar);
while(1)
{
menu();
Printf("Por favor seleccione uno Operación: ");
scanf("d ", ampsel);
if(sel==0)
{
if(shoudsave==1)
{ getchar();
printf("\n = = = = = gt; Consejo: Los datos han sido cambiados. ¿Quieres guardar el archivo Cambiar (y/n)? \ n ");
scanf("c ", ampch);
if(ch=='y'||ch= =' Y ')
Guardar (l);
}
printf(" \ n = = = = = gt; Consejo: Has salido del ¡Adiós!\n ");
Romper;
}
Cambiar (seleccionar)
{
Caso 1: Agregar (l); /*Agregar estudiante*/
Caso 2: Del (l); : Corán (izquierda); /* Consultar estudiantes */
Caso 4: Modificar (l); ;/*Salvar estudiantes*/
Caso 9: printf ("\ t \ t \ t = = = = = =Información de ayuda = = = = = = = "); /p>
Predeterminado: error(); getchar(); romper; * */
/*
Plan de gestión del desempeño de los estudiantes
Escriba un programa de gestión para contar las puntuaciones de los exámenes de los estudiantes
Suponga que ese estudiante Se han calculado los puntajes. Se almacena un registro de estudiante en el archivo.
El registro de cada estudiante contiene información como el nombre, el número de estudiante y las calificaciones de cada curso. siguientes funciones: Buscar El puntaje total y el puntaje promedio de cada curso se pueden encontrar y mostrar según el nombre y la identificación del estudiante. Explore los puntajes de todos los estudiantes y muestre la información del estudiante de mayor a menor según el puntaje total.
*/
# incluir ltstdio.h gt
# definir n3/*número de cursos*/
#definir nombre ES 20 /*Número máximo de caracteres en nombre*/
#define CODELEN 10 /*Número máximo de caracteres para número de estudiante*/
#define FNAMELEN 80 /*Número máximo de caracteres para el nombre del archivo */
# definebullen80/*Número máximo de caracteres en el búfer*/
/*Lista de nombres de cursos*/
char Coursework[SWN ][NAMELEN 1] = { "Chino", "Matemáticas", "Inglés" };
Registro de estructura
{
nombre char[nombre len 1 ];/ *Nombre*/
código char[CODELEN 1]; /*ID del estudiante */
int marks[SWN] /*Calificación de cada curso*/ p>
int total/*Puntuación total*/
}Stu;
Nodo de estructura
{
nombre de carácter[ nombre len 1];/*nombre*/
código de carácter[CODELEN 1];/*ID de estudiante */
int marcas[SWN];/*puntuaciones para cada curso* /
int total/*Puntuación total*/
Nodo de estructura* siguiente/*Puntero de elemento de tabla posterior*/
} *head /*lista enlazada; head Pointer*/
int total[SWN];/*Puntuación total de cada curso*/
FILE * stfpt/*File pointer*/
char cosas[fname len];/*Nombre de archivo*/
/*Leer registro del archivo especificado*/
int readrecord(FILE *fpt, struct record *rpt)< / p>
{
char buf[buf len];
int I
if(fscanf(fpt, " s ", buf) ! =1)
Devuelve 0; /*Fin del archivo*/
strncpy(RPT- gt; nombre, buf, nombre len);
fscanf( fpt, " s ", buf);
strncpy(RPT- gt; código, buf, CODELEN
for(I = 0; iltSWN; i )
fscanf(fpt, "d", ampRPT->marcas[I]);
for(RPT-gt;total=0,i=0;iltSWN;i)
p>
RPT->; total = RPT- gt; marca [I];
Devuelve 1; el registro Ingrese el archivo especificado */
writerecord(FILE *fpt, struct record *rpt)
{
int I;
fprintf( fpt, " s\n ", RPT- gt; nombre);
fprintf (fpt, " s\n ", RPT- gt; código
para); (I = 0;iltSWN;i)
fprintf(fp
t, " d\n ", RPT- gt; marcas[I]);
Regresar;
}
/*Mostrar registros de estudiantes*/
displaystu(registro de estructura * informe)
{
int I;
printf(" \nNombre: s\n ", RPT - gt;Nombre);
printf("Código: s\n", RPT-gt;Código);
printf("Marcas:\n");
p>
for(I = 0; i ltSWN; i )
printf(" -15s : 4d\n ",trabajo escolar[i],RPT- gt;notas[I ]);
printf("Total: 4d\n ", RPT- gt; total
}
/*Calcular la puntuación total de cada uno); sujeto*/
int totalmark(char *fname)
{
ARCHIVO * fp
Registro de estructura;
int recuento, I ;
if((fp=fopen(fname," r))== NULL)
{
printf("No se puede abra el archivo s.\n ", fname);
Devuelve 0;
}
for(I = 0; i ltSWN; i )
total[ I]= 0;
cuenta = 0;
mientras(readrecord(fp, amperios)!=0)
{
for(I = 0; iltSWN; i)
total[I] = s. marcas[I];
cuenta;
}
fclose(FP);
Recuento de retorno /*Devuelve el número de registros*/
}
/* Mostrar información del estudiante en una lista*/
void listtu(char *fname)
{
FILE * fp
Registro de estructura;
if ((fp=fopen(fname, " r)) = = NULL)
{
printf("No se puede abrir el archivo s.\n " , fname);
Return;
}
while(readrecord(fp, amps)! =0)
{
display stu(amp;s);
printf("\nPresione ENTER para continuar...\n "); /p>
mientras(getchar()!= '\n');
}
fclose(FP);
Retorno;< / p>
}
/*Construir lista enlazada*/
Nodo de estructura*Generar lista (char *fname)
{
ARCHIVO * fp
Registro de estructura;
Nodos de estructura *p, *u, *v, *h;
int I;
if((fp=fopen(fname, " r)) = = NULL)
{
printf("No se puede abrir el archivo s.\n ", fname);
Devuelve NULL
}
p>
h = vacío;
p=(nodo de estructura*)malloc(tamaño de(nodo de estructura));
while(readrecord(fp, (registro de estructura *) p)! =0)
{
v = h;
Y (v amp ampp->; total lt= v->; total)
{
u = v;
v = v- gt; siguiente
}
Si ( v==h)
h = p;
Otro
u- gt; siguiente = p; next = v;
p=(nodo de estructura*)malloc(sizeof(nodo de estructura));
}
free(p);
p>fclose(FP);
Return h;
}
/*Muestra cada elemento de la tabla en la lista vinculada en orden*/
lista de visualización vacía (nodo de estructura *h)
{
Y (h! = vacío)
{
display stu((struct record *)h);
printf("\nPresione ENTER para continuar...\ n ");
while(getchar()! = '\ n ');
h = h- gt; Siguiente;
}
Regresar
} p >
/*Buscar registros de estudiantes por nombre de estudiante*/
int retrievebyn(char *fname, char *key)
{
ARCHIVO * fp
int c;
Registro de estructura;
if((fp=fopen(fname, " r))= = NULL)
{
printf("No se puede abrir el archivo s.\n ", fname
Devuelve 0;
}
c); = 0;
mientras(readrecord(fp, amperios)!=0)
{
if(strcmp(s.name, key)== 0 )
{
mostrar estu(amp;s);
c;
}
}
fclose(FP);
If (c==0)
printf("El estudiante s no está en el archivo s,\n ", clave, fname
Regresar 1;
}
/*Buscar registros de estudiantes por número de estudiante*/
int retrievebyc(char *fname); , char *key)
{
ARCHIVO * fp
int c;
Registro de estructura;
if((fp=fopen(fname, " r)) = = NULL)
{
printf("No se puede abrir el archivo s.\n ", fname);
Devuelve 0;
}
c = 0;
mientras(readrecord(fp, amperios)! =0)
{
if(strcmp(s.code,key)==0)
{
di
splay stu(amp;s);
c;
romper;
}
}
fclose (FP);
If (c==0)
printf("El estudiante s no está en el archivo s,\n ", clave, fname);
return 1;
}
principal()
{
int i, j, n
char c;
char buf[buf len];
ARCHIVO * fp
Registro de estructura;
clr SCR() ;
printf("Ingrese el nombre del archivo de registro de desempeño del estudiante: ");
scanf("s ", cosas
if( (FP = fopen(stuff, "r)) = = NULL)
{
printf("El archivo no existe, ¿quieres crearlo? (Sí/No )", llenar) ;
getchar();
c = getchar();
if(c=='Y'||c== 'y ')
{
FP = fopen(stuff, " w ");
printf("Ingrese el número de registro que se escribirá en el archivo: ");
p>
scanf("d ", ampn);
for(I = 0;iltn;i)
{
printf(" Ingrese el nombre del estudiante: ");
scanf("s ", amps. nombre);
printf("Ingrese el nombre del estudiante); código: ");
scanf("s ", código de EE. UU.);
for(j = 0; j ltSWN; j )
{
printf("Ingrese s mark : ", trabajo del curso[j]);
scanf("d ", amps . marks[j]);
}
Escribir registro(FP amp ;s);
}
fclose(FP);
}
}
fclose(FP );
getchar();
/* clrscr() */
puts(" Ahora puede ingresar un comando para administrar el registro.") ;
puts("m: el promedio de las puntuaciones. ");
puts("t: Puntuación total.");
puts("n: Buscar registros por nombre de estudiante.");
puts ("c: Buscar registros por código de estudiante.");
puts("l: Listar todos los registros."
puts("s: Buscar registros por número total Clasificación); y listado ");
puts("q: ¡Salir!");
while(1)
{
puts. ("Ingrese el comando:");
scanf(" c ", ampc /*Ingrese el comando de selección*/
if(c=='q '| |c=='Q ')
{
puts("\nGracias por su uso.
");
Interrupción; /* q, finaliza la ejecución del programa*/
}
Interruptor (c)
{ p>
Caso "m": /*Calcular puntuación media*/
Caso "M":
if((n = nota total(cosas))= = 0 )
{
puts("¡Error!");
Romper;
}
printf( " \ n ");
for(I = 0; iltSWN; i )
printf("-El valor promedio de 15 es: .2f.\n ", trabajo del curso [ i], (punto flotante) total [I]/n);
Descanso;
Caso 't': /*Calcular puntuación total*/
Caso "T":
if((n = nota total(cosas))== 0)
{
puts("¡Error!");
Romper;
}
printf(" \ n ");
for(I = 0; i ltSWN; i )
printf("La puntuación total de -15 es: d.\n ", trabajo del curso [i], puntuación total [I]); p >Case "n": /*Buscar registros por nombre de estudiante*/
Case "N":
printf("Ingrese el nombre del estudiante que desea buscar: ");
scanf("s",buf);
recuperar byn(stuff,buf);
romper;
Caso "c" :/*Buscar registros por ID de estudiante*/
Caso "C":
printf("Ingrese el código de estudiante que desea buscar:");
scanf("s",buf);
retrievebyc(stuf,buf);
break;
Caso "l": /* Listar todos los registros de estudiantes*/
Caso 'L':
lista de cosas(cosas);
Pausa;
Caso ':/* Mostrar en orden descendente la puntuación total*/
Caso:
if((head = makelist(stuff))!=null)
displaylist(head);
Descanso;
Predeterminado: descanso
}
}
} p>