Red de conocimiento informático - Computadora portátil - Programación en C, urgente!!!!

Programación en C, urgente!!!!

//Tarea 2

//

//Crear una lista vinculada con ID de estudiante, nombre de estudiante, sexo, calificaciones...

//Incluye: 5 métodos: insertar, eliminar, buscar, imprimir todo y salir.

//Cuando la entrada clave es 1, es el método de inserción, y cuando es 3, es el método de búsqueda...

#include "stdio.h"

# include"malloc.h"

#define STT struct S_student

#define NULL 0

#define LEN sizeof(struct S_student)

struct S_student

{

int num

int chengji

nombre de char[50; ];

char sex[10];

struct S_student *siguiente;

};

STT * M_make(int n) //Crear lista enlazada

{

int SttNO(STT * head, int T_num);

STT *head=NULL, *pf, *pb;

int i ;

for(i=0;ilt;n;i)

{

pb=(STT*) malloc(LEN);

printf("Ingrese el número de estudiante, el nombre del crédito y el sexo");

scanf("ddss", amp; pb-gt; num, amp; pb-gt; chengji, amp; pb-gt; pb-gt;

si (i==0)pf=head=pb; else pf-gt; siguiente=pb;

pb-gt; siguiente=NULL

pf=pb; return(head)

}

STT * putin(STT * head)//Insertar elemento

{

STT *pb; , *pf, *pi;

pb=head;

pi=(STT*)malloc(LEN);

printf("Por favor, introduzca el nuevo número de estudiante del estudiante, nombre del crédito, género");

scanf("ddss",amp;pi-gt;num,amp;pi-gt;chengji,amp;pi-gt;name,amp; pi-gt;sexo);

if(head==NULL)

{

head=pi;

}

else

{

while((pi-gt;numgt;pb-gt;num)amp;amp;(pb-gt;next!=NULL) )

{

pf=pb;

pb=pb-gt;siguiente;

}

if(pi-gt;numlt;=pb- gt;num)

{

if(head==pb)head=pi;

else pf -gt;siguiente=pi;

pi-gt; siguiente=pb

}

más

{

pb-gt;siguiente=pi;

pi-gt; next=NULL;

}

}

printf("Inserción exitosa\n"); ;

}

STT * K_kill(STT * cabeza)

{

STT *pf, *pb;

int num;

printf("Ingrese el número de estudiante del estudiante que desea eliminar");

scanf("d", amp; num);

if(head==NULL)

{

printf("Actualmente no hay archivos de estudiantes, utilice esta función después de la creación\n");

//goto N_new;

}

pb=head

while(pb-gt; num!=numamp; amp; pb-gt; siguiente==NULL)

{

pf=pb

pb=pb-gt; }

if(pb-gt;num==num)

{

if(pb==head)head=pb-gt;next;

else pf-gt; next=pb-gt; next;

free(pb);

printf("Eliminar correctamente\nPresione cualquier tecla para regresar"

p>

//ir a N_new

}

else

{

printf(" La información del estudiante que desea eliminar Si no existe, verifique antes de usar esta función");

//goto N_new;

}

return cabeza;

}

STT * getStt(STT * cabeza)

{

STT *pf, *pb; >

int num;

printf("Ingrese el número de estudiante que está buscando");

scanf("d", amp; num);

if(head==NULL )

{

printf("Actualmente no hay ningún archivo de estudiante, agregue el comando nuevamente"); >

//ir a N_new;

}

pb=head;

while(pb-gt; num!=numamp; amp; pb- gt; siguiente==NULL)

{

pf=pb

pb=pb-gt; /p>

if(pb-gt; num==num )

{

printf("El crédito del estudiante que buscas es d\n", pb-gt; chengji);

printf("Haga clic en Cualquier tecla devuelve "); p> else

{

printf ("La información del estudiante que buscas no existe\n"); > return head;

}

void seeStt (STT * head)//Ver toda la información<

/p>

{

STT *pb=NULL;

if(head!=NULL)

{

printf ("ID de estudiante\t\tCréditos\t\tNombre\t\tGénero\n"

}

else

{

p>

printf("Debe tener más de un estudiante para usar esta función. Agregue el comando repetidamente\n");

while(pb!=NULL)

{

printf("d\t\td\t\ts\t\ts\n", pb-gt; num, pb-gt; chengji, pb-gt; nombre, pb-gt;

pb=pb-gt; p>

}

int SttNO(STT * head, int T_num)//Determinar si el número de estudiante está repetido

{

STT *pf , *pb;

p>

pb=head;

while(pb-gt; num!=T_numamp; amp; pb-gt; next==NULL)

{

pf=pb;

pb=pb-gt;siguiente;

}

si( pb-gt;num==T_num)

{

printf("El número de estudiante que ingresó está duplicado");

return

}

else devuelve 1;

}

void main()

{

STT *cabeza, *pi;

int n, num;

int n_now

int ss=5; "Creando archivo...\nIngrese el número de personas en el archivo que desea");

AAAA:

scanf("d",amp;n);

if(ngt;0)

{

head=M_make(n);

N_new:

printf ("Después de crear el archivo, puede hacer lo siguiente\n1. Agregar la información de un estudiante\n2. Eliminar la información de un estudiante\n3. Buscar la información de un estudiante\n4. Imprimir la información actual del estudiante\n5. Salir del programa\n ");

scanf("d", amp ;n_now);

switch(n_now)

{

caso 1:

head=putin(head);

ir a N_new;

romper

caso 2:

head=K_kill(head);

ir a N_new;

break;

caso 3:

head=getStt(head);

ir a N_new;

romper;

caso 4:

verStt(head); ;

ruptura

caso 5:

printf("Gracias por participar en la prueba^_^Adiós\n");

goto END; p>

else

{

if(ss==0)

{

printf("Por favor, no burlarse de la computadora\n ");

goto END;

}

printf("Por favor, ingrese un número entero mayor que 0");

ss- -;

ir a AAAA;

}

FINAL:;

}