Red de conocimiento informático - Conocimiento del nombre de dominio - Ingrese el código fuente del sistema

Ingrese el código fuente del sistema

# incluir & ltstdio.h & gt

# incluir & ltstdlib.h & gt

# incluir & ltstring.h & gt

# incluir & ltmalloc. h & gt

estructura estudiante

{

int num

char nombre[20];

char tel[20];

estructura estudiante *siguiente;

};

estructura estudiante *cabeza, *tmp1, *tmp2

int n;

Carga no válida()

{

ARCHIVO * FP 1;

int I;

fp1=fopen("file.txt","Rb");

struct estudiante * tmp

struct estudiante * q;

Printf(" Inicio leyendo información del estudiante\n ");

head = 0;

while(1){

tmp = malloc(sizeof(struct Student)) .

tmp-& gt; next = 0;

//i=fscanf(fp1, "ID de estudiante: %d Nombre: %s Teléfono: % s \ n ", & ;(tmp->num),tmp->nombre,tmp->teléfono);

i=fread(tmp,sizeof(struct Student),1,FP 1);

if(i==1){

if(head==0)

q = head = tmp

Printf(" Leer la información de un estudiante\ n ");

q->; next = tmp

q = q-& gt; next;

} En caso contrario {

fclose(FP 1);

Retorno;

}

}

}

Salida no válida( )

{

tmp 1 = encabezado;

mientras (tmp1!=0)

{

Printf("ID de estudiante: %d Nombre: %s Teléfono: %s\n ", tmp 1-> num, tmp 1->; Nombre, tmp 1->; Teléfono

tmp); 1 = tmp 1-& gt; siguiente;

}

}

Entrada no válida ( )

{ estructura estudiante *q, * p;

Printf("Agregue la información del estudiante según sea necesario:\ n "

p=malloc(sizeof(estructura estudiante)

); Printf("Ingrese el ID del estudiante:");

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

printf (" \ nIngrese el nombre del estudiante: ") ;

scanf("%s ", p-& gt; nombre);

printf(" \ nIngrese el número de teléfono del estudiante:

<); p>scanf("%s ", p-& gt; número de teléfono);

p->; siguiente = 0

if (head==0){

cabeza = p;

q = p;

} En caso contrario {

q = cabeza

mientras( q->; siguiente!=0)

{

q = q-& gt; siguiente;

}

q- >; siguiente = p;

q = p

}

}

eliminar vacío()

{ struct Student *q, * p;

int numint I; /*¿Qué artículo es num aquí?*/

Printf("Por favor, ingrese el registro I \ n ");

scanf("%d ", & ampnum);

if(num==1)

{ cabeza = cabeza-> *Eliminar nodo principal*/

p = head;

for(I = 1;I& ltnum-1; I++) /*Mover p al nodo que se va a eliminar*/

{ p = p-& gt; siguiente;}

if(num & gt; 1)

p->siguiente = (p->siguiente )->next; /*Por ejemplo, vincular 2 4 nodos y eliminar 3 nodos*/

Printf("Eliminación exitosa, verifique\n ");

}

Búsqueda no válida()

{ char c[20];

char tmp 2 _ num[20];

Printf( "Por favor ingrese el

Información:\ n ");

scanf("%s ", c);

Printf("Lo que quieres consultar es:\ n ");

tmp2 = header; /*Traverse*/

And (tmp2!=0)

{

Printf("ID del estudiante: %d Nombre : %sPhone:%s\n ",tmp 2-> num, tmp 2-> nombre, tmp 2-> teléfono);

if(strncacecmp(tmp 2-> gt; nombre, c, strlen(c))==0)

Printf("El nombre coincidió correctamente\n ");

/*Coincidencia*/

if(strncacecmp(tmp 2->tel,c,strlen(c))==0)

Printf("Coincidencia telefónica exitosa\n ");

sprintf(tmp2_num , "%d", tmp 2->num);

if(strncacescmp(tmp 2_num, c, strlen(c))==0)

Printf("Estudiante número coincidente exitosamente\ n ");

tmp 2 = tmp 2-& gt; Siguiente;

}

}

No válido save()

{

ARCHIVO * FP 1;

estructura estudiante *q, * p 1;

fp1=fopen( "archivo.txt","w");

p 1 = 0;

p 1 = encabezado

if (cabeza==0)

{

Printf("No hay información del estudiante ahora, agregue la información del estudiante primero:\ n "); Y (p1!=0)

{

//fprintf(fp1, "ID de estudiante: %d Nombre: %s Teléfono: %s\n ", p 1-> ; num, p 1-> nombre, p 1-> teléfono);

fwrite(p1, sizeof(struct estudiante), 1, FP 1); ID: %d Nombre: %s Teléfono: %s\n ", p 1-> num, p 1-> Nombre, p 1->; Teléfono);

p 1 = p 1- >; siguiente;

}

fclose(FP 1

}

Cambio no válido()

{ struct Student * p;

int numint I; /*¿Qué artículo es num aquí?*/

Printf(" Ingrese el registro que desea modificar I \n ");

scanf("%d ", & ampnum);

p = encabezado

for (I = 1;i<numi++)

{

p = p->Siguiente;

}

Printf ("ID de estudiante: %dNombre:%sTeléfono:%s\n", p-> num, p->Nombre, p->Teléfono);

Printf("Modifique el número de estudiante: ");

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

Printf("Modifique el nombre del estudiante:");

scanf("%s ", p-& gt; nombre

);

Printf("Modifique el número de teléfono del estudiante:");

scanf("%s ", p-& gt; teléfono

}

;

int ma

en()

{

cabeza = tmp 1 = 0;

mientras(1)

{

printf(" \ n \ n ");

Printf ("\ t \ t * *Bienvenido al sistema de gestión de estudiantes* * \ n "); \t\t* *Por favor ingrese la información correspondiente según se requiera* *\n ");

Printf ("\t\t* * 0. Cargar información del estudiante* *\n ");

Printf ("\ t \ t * * 1. Ver información del estudiante * * \ n "

Printf ("\t\t*** 2. Agregar información del estudiante * *); * \ n");

Printf("\t\t*** 3. Eliminar registros de estudiantes * * * \ n ");

Printf("\t\t * ** 4. Consultar registros de estudiantes * * * \ n ");

Printf("\t\t*** 5. Guardar información del estudiante * * * \ n");

Printf("\t\t*** 6. Modificar información del estudiante * * * \ n ");

Printf ("\ t \ t * * 7. Salir * * * \ n " );

Printf("Seleccionar función:");

scanf("%d ", & ampn);

Cambiar (n)

{

Caso 0:

carga();

Rotura;

Caso 1:

Salida();

Pausa;

Caso 2:

InPut();

Pausa;

Caso 3:

eliminar();

Romper;

Caso 4:

buscar();

Pausa;

Caso 5:

guardar();

Pausa;

Caso 6: Cambio();

Pausa;

Caso 7:

Salir(0);

Pausa;

Valor predeterminado:

Printf("Esta función no está disponible temporalmente");

}

}

}