Red de conocimiento informático - Conocimiento informático - El sistema de gestión de información estudiantil simula el lenguaje C

El sistema de gestión de información estudiantil simula el lenguaje C

Lo escribí según tu solicitud, pero el nombre de la función es diferente. Todas las funciones que desees están implementadas. Espero que estés satisfecho. No es demasiado tarde para responder. Después de todo, hay demasiado código.

#incluye & ltstdio.h & gt

#incluye & ltstdlib.h & gt

#incluye & ltstring.h & gt

estructura typedef estudiante

{

char strname[12];

char strno[10];

punto flotante fs core [3];

float ftotal,fave

}student;

nodo de estructura typedef

{

Datos del estudiante;

Nodo de estructura * siguiente

} nodo

Entrada del estudiante (no válido);

salida nula (estudiante uno) ;

void add(nodo * *cabeza, un estudiante);

void show(nodo *cabeza);

int del(NODO **head, char * no);

void remove all(NODE * * head);

int menu (int num)

{

int nselect = 0;

Hacer

{

printf("-\ n ");

Printf( "Implementación de lista vinculada Sistema de gestión del desempeño estudiantil (registrado)%3d ", num

printf("-\ n ");

printf(" 1-Agregar datos\ n); ");

Printf("Visualización de lista doble\ n ");

printf(" 3-Eliminar datos\ n ");

printf(" 6-Salir \ n ");

printf("-\ n ");

Printf("Seleccione el número de comando: ");

scanf("% d ", & ampnselect);

if((n select & gt;= 1); & amp(nselect & lt=6) )

Devolver nselect

} while(1);

Devuelve 0;

}

int main(void)

{

int num=0, item, res

Estudiante trabajador temporal;

Carácter strno[10];

NODO * cabeza = NULL

mientras( (elemento=menú(núm))! =6 )

{

Cambiar (elemento)

{

Caso 1:

temp = entrada ();

Agregar (&cabeza, temperatura);

num++;

Printf("Se ha agregado la información del estudiante, presione cualquier tecla para regresar.. .");

Pausa;

Caso 2:

Mostrar (cabeza);

Printf("Haga clic en cualquier edificio para return..");

Pausa;

Caso 3:

if(num & gt; 0)

{

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

scanf("%s ", strno

RES = del(& amp); ; persona a cargo, strno);

IF (resolución)

Printf("El registro del número de estudiante [%s] ha sido eliminado, presione cualquier tecla para regresar...", strno);

Otros

Printf("No hay ningún registro de número de estudiante [%s], presione cualquier tecla para regresar...", strno);<

/p>

}

Otros

Printf("¡La lista enlazada es espacio-tiempo y no se puede eliminar! Presione cualquier tecla para regresar...");

Interrupción;

Valor predeterminado:

Printf("Error de comando, presione cualquier tecla para regresar...");

Interrupción;

}

getchar();

}

si(head)eliminar todo(& head);

Devuelve 0 ;

}

void add(nodo * *cabeza, estudiante uno)

{

Nodo * p, *b;

p = *head;

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

b-& gt; datos=uno;

p>

if(NULL==p)

{

* cabeza = b-& gt; NULL

}

Otro

{

mientras((p-& gt; siguiente)!= NULL)p = p- & gt; siguiente;

p->siguiente = b

b-siguiente = NULL

}

}

Visualización vacía (nodo*cabeza)

{

NODO * pcur =cabeza;

int num = 0;

while( pcur!=null)

{

printf("%3d ",++ num);

salida(pcur->data);

pcur = pcur-& gt; siguiente;

}

}

int del(NODO **cabeza, char *no )

{

Nodo *p, * a;

a = p = *cabeza

if(NULL==p; ) devuelve 0;

if(0 == strcmp((p-& gt; data). strno, no))

{

* cabeza = p-& gt; Siguiente;

Gratis(p);

Devolver 1

}

Otro

{

mientras((((p->Siguiente)!= NULL)&&(strcmp((p->data). strno, no))))

{

a = p;

p = p-& gt;

if(0 = = strcmp((p->datos).

strno, no))

{

a->siguiente = p->siguiente;

Gratis(p);

Devuelve 1;

}

}

Devuelve 0;

}

void removeall (Nodo * *cabeza)

{

Nodo * p = *cabeza;

mientras(*cabeza)

{

* cabeza = p-& gt;

Gratis(p);

p = *cabeza

}}

Entrada del estudiante (no válida)

{

Estudiante uno;

Printf("Ingrese la información del estudiante: \ n ") ;

printf(" nombre \ n ");

scanf("%s ", uno . strname

Printf(" Número de estudiante\ n); ");

scanf("%s ", one. strno);

Printf("Tres resultados del curso:\ n ");

scanf( "%f%f%f ", & amp(one.fscore[0]), & amp(one.fscore[1]), & amp(one . fs core[2]);

p>

uno. f total = uno. fs core[0]+one. fs core[2]+one fs core[2];

uno.

Devuelve uno;

}

Salida no válida (estudiante uno)

{

printf (" % 12s % 12s % 12s ", uno.strname, uno . strno);

printf("%f%f%f ", one.fscore[0], one.fscore[1] , one. fs core[2]);

printf("%f%f\n ", one.ftotal, one. fave);

}