Código fuente de Strnacasecmp
# 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 Student * tmp
struct Student * 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 ( ) p>
{ 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;<
/p>
}
q->; siguiente = p;
q = p; /p>
void delete()
{ struct Student *q, * p;
int numint I /*¿Qué artículo es num aquí?*/ p>
Printf("Ingrese el registro I \ n ");
scanf("%d ", & ampnum);
if(num== 1) p>
{ head = head-& gt; next;}/*Eliminar nodo principal*/
p = head;
for(I = 1;i<num-1 ;i++) /*Mover p al nodo a eliminar*/
{ p = p->Next;}
if (num>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 ", c
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-& gt;num,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-& gt ;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("archivo.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);
}< / p>
Cambio no válido()
{ struct Student * p;
int numint I /*Qué artículo es num aquí*/
Printf ("Ingrese el registro I \ n ");
scanf("%d ", & ampnum
p = encabezado
for( I = 1;i<numi++)
{
p = p->Next;
}
Printf("ID de estudiante: %dName:%sPhone:%s\n ",p->num,p->Name,p->Phone);
Printf("Por favor modifique el número de estudiante:");
scanf("%d ",&p->num);
Printf("Modifique el nombre del estudiante:"
scanf("%s); ", p-& gt; nombre);
Printf("Por favor modifique el número de teléfono del estudiante:");
scanf("%s ", p-& gt; teléfono
}
int main()
{
cabeza = tmp 1 = 0;
while(1)
{
printf(" \ n \ n ");
Printf ("\ t \ t * *Bienvenido a la gestión de estudiantes system* * \ 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 la 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 ");
}
}
}