Red de conocimiento informático - Conocimiento sistemático - Código fuente del sistema de registro e inicio de sesión

Código fuente del sistema de registro e inicio de sesión

# 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(size of(struct Student) );

tmp-& gt; next = 0;

//i=fscanf(fp1, "ID del 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);

return;

}

}

}

Salida no válida()

{

tmp 1 = encabezado

Y (tmp1!=0)

{

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

tmp 1 = tmp 1-& gt;Siguiente;

}

}

Entrada no válida ( )

{ struct Student *q, * p;

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

p=malloc(sizeof(struct Student)); Printf("Ingrese el número de 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:

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

p->; siguiente = 0;

if(head==0){

cabeza = p;

q = p;

}else{

q = Cabeza;

mientras(q- >;¡Siguiente! =0)

{

q = q-& gt; Siguiente;

>}

q->; siguiente = p;

q = p

}

}

void eliminar()

{ 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)

{ head = head-> next;}/*Eliminar nodo principal*/

p = head;

for(I = 1;I& ltnum-1; I++) /* Mueva p al nodo que desea eliminar*/

{ p = p-& gt; next;}

if(num & gt; 1)

p->next = (p->next)->next; /*Por ejemplo, vincule 2 4 nodos y elimine 3 nodos*/

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

}

Búsqueda no válida()

{ char c[20];

char tmp 2 _ num[20 ];

Printf("Ingrese la información que desea consultar:\ n "

scanf("%s ",

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

tmp2 = header /*Traverse*/

And (tmp2!=0)

{

Printf("ID de estudiante: %d Nombre: %s Teléfono: %s\n ", tmp 2-> número, tmp 2->nombre,tmp 2->Teléfono );

if(strncacecmp(tmp 2->name,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("El número de estudiante coincidió correctamente\ n ");

tmp 2 = tmp 2-& gt; >}

}

Guardar no válido()

{

ARCHIVO * FP 1;

estructura estudiante *q, *p 1;

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

p 1 = 0

p 1; = head;

if(head==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-& gt; num, p 1->; nombre, p 1->;

fwrite(p1, sizeof(struct estudiante), 1, FP 1); : %dNombre:%sTelé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 a modificar I \n ");

scanf("%d ", & ampnum);

p = encabezado;

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

{

p = p->Next;

}

Printf ("ID del estudiante: %dName :%sPhone:%s\n", p-> num, p->Nombre, p->Phone);

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 main()

{

cabeza = tmp 1 = 0 ;

mientras(1)

{

printf(" \ n \ n ");

Printf ("\ t \ t * *Bienvenido al sistema de gestión de estudiantes * * \ n ");

Printf ("\ t \ t * * Ingrese la información correspondiente según sea necesario * * \ 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();

Interrupción;

Caso 1:

OutPut();

Interrupción ;

Caso dos:

InPut();

Break;

Caso tres:

delete( );

Pausa;

Caso 4:

búsqueda();

Pausa 5; :

guardar();

Romper;

Caso 6: Cambiar(); >Caso 7:

Salir(0);

Break;

Valor predeterminado:

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

}

}

}