#incluye
#incluye
#incluye
#incluye
#define STACK_INIT_SIZE 10
#Definir OK 1
#Definir verdadero 1
#Definir falso 0
#Definir error 0
La estructura estudiante/* define el tipo de estudiante, utilizado para almacenar libros prestados*/
{
int carnum
char lend book[10];< / p>
}Estudiantes[1000];
Estructura Empleado/*Definir tipo de empleado*/
{
int empleadonum
char emplear nombre[15];
int empleo
char emplearex[2];
char emplear nivel[10];
long int empleatage
}Empleo[50];
Libro de estructura /*define el tipo de libro*/
{
int booknum
char bookname[10];
char book creat[10];
int turefalse/*El módulo de préstamo de libros determina si el libro se toma prestado Condiciones*/
} libro[1000];
Estructura coche /*tipo de datos de la tarjeta de biblioteca*/
{
int carnum
char nombre del estudiante[10];
int
}car[100];
Huanbook() /* Función de retorno */
{
FILE *fp, * fp2/* define dos punteros de archivo. fp2 se utiliza para crear archivos temporales al modificar datos para evitar que se dañen*/
int i, n;
int carnum
char lend book[ 10 ];
Printf("Ingrese su número de tarjeta\ n ");
scanf("%d ", & ampcarnum
fp=); fopen ("car.txt", "r");/*Leer el registro del número de tarjeta*/
for(I = 0; fred(& ampcar[i], sizeof(struct car), 1, fp)! =0;I) /*Bucle For para determinar si el número de tarjeta existe*/
{
If (car[i].carnum==carnum) /* El número de tarjeta existe, el próximo ciclo*/
{
n = I;
fclose(FP);
Printf( "Por favor ingrese su El nombre del libro a devolver \ n ");
scanf("%s ", prestar libro
fp=fopen("record.txt); ", " r ");
for(I = 0; fred(& amp estudiante[i], sizeof(estructura estudiante), 1, fp)!=0;I) /*Determinar si el el libro ingresado ha sido prestado* /
{
If (strcmp (estudiante [I]).
Lendbook, Lendbook) = = 0)/*Pedir prestados libros e ingresar al siguiente ciclo; de lo contrario, se mostrará un error*/
{
fclose(FP);
fp=fopen("record.txt "," r ");
fp2=fopen("bookl.txt "," w ");
for(I = 0; fred(& estudiante[i], sizeof(struct estudiante),1,fp)! =0;i)
{
if(strcmp(estudiante[i] ). lendbook, lendbook)==0)
{
Continuar; /*Eliminar el registro de préstamo del libro devuelto*/
}
fwrite(& estudiante[i], sizeof(struct estudiante), 1, fp2 /*Escribir un registro de libros no devueltos*/
}
fclose( FP);
fclose(fp2);
fp=fopen("record.txt "," w ");
fp2=fopen( "libro .txt", "r");
for(I = 0; fred(& estudiante[i],sizeof(struct estudiante),1,fp2)!=0;i )
{
fwrite(& amp; estudiante[i], sizeof(estructura estudiante), 1, FP /*Escribir información del registro de préstamo de libros*/
}
fclose(FP);
fclose(fp2);
fopen("bookl.txt ", " w ");/ *Borrar el registro de archivos temporales*/
fclose(fp2);
fp=fopen("book.txt "," r ");
fp2 =fopen(" bookl.txt", "w");
for(I = 0; fred(& ampbook[i], sizeof(estructura libro), 1, fp)!=0 ;I) /*Escribir registros del libro a un archivo temporal para evitar que los registros anteriores sean destruidos por la información de modificación*/
{
If (i==n)
{ p>
Libro [I].
ture false = 1;
fwrite(& book[i], sizeof(struct book), 1, fp2 /*Establece el estado original del libro devuelto en sin marcar*/ p><); p>Continuar;
}
fwrite(& book[i], sizeof(struct book), 1, fp2);
}
fclose(FP);
fclose(fp2);
fp=fopen("libro.txt", "w");
fp2 =fopen("bookl.txt", "r");
for(I = 0; fred(& ampbook[i], sizeof(estructura libro), 1, fp2)! =0;i )
{
fwrite(& book[i], sizeof(struct book), 1, FP /*Escribe el archivo temporal Return */
}
fclose(FP);
fclose(fp2);
fopen("bookl.txt ", " w "); documentos*/
fclose(fp2);
Printf("Devuelva el libro, presione cualquier tecla para regresar\ n ");
getch();
Regresar 1;
}
}
Printf("No tomaste prestado ese libro, presiona cualquier tecla para regresar\ n "); /*Mensaje de error*/
fclose(FP);
getch();
Devuelve 0;
fclose(FP);
Return 0;
p>
}
}
Printf("Esta tarjeta no existen en el sistema, comuníquese con el administrador y presione cualquier tecla para regresar\n "); /*Mensaje de error*/
fclose(FP);
getch();
}
findbook()
{
ARCHIVO * fp
char nombre del libro[10]; p>
int ture, i;
fp=fopen("book.txt " , " r ");
Printf("Ingrese el título del libro que desea están buscando\ n ");
scanf("%s ", nombre del libro);
for(I = 0; fred(& ampbook[i], sizeof(estructura libro), 1, fp)! =0;i)
{
if(strcmp(nombre del libro, libro[i]).Nombre del libro)==0)
{
If (book[i].truefalse==1)
{
Printf("Los detalles de este libro son: %d %s %sthis El libro tiene no ha sido prestado\nPresione cualquier tecla para regresar\n ", Libro [i]. Número de libro, Libro [i]. Nombre del libro, Libro [i].
bookcreat);
}
Otros
fclose(FP);
Devuelve FALSO
} p>
}
Printf("No hay ningún libro que desee consultar\n ");
fclose(FP);
Devuelve FALSE p>
}
findbook1()
{
ARCHIVO * fp
char book creat[10];
p>
int tura, i;
fp=fopen("book.txt", "r");
Printf("Por favor ingresa el autor que buscas nombre\n ");
scanf("%s ", bookcreat);
for(I = 0; fred(& ampbook[i] , sizeof(estructura libro ), 1, fp)! =0;i)
{
if(strcmp(bookcreat, book[i]).bookcreat)==0)
{
If (libro[i].truefalse==1)
{
Printf("Los detalles de este libro son: %d %s %sEste libro no ha sido prestado\nPresione cualquier tecla para regresar\n ", Libro [i]. Booknum, Libro [i]. Título del libro, libro [i]. bookcreat);
}
Otro
fclose(FP);
devuelve FALSO
}
}
Printf("No hay ningún libro que desee consultar\n ");
fclose(FP);
Devuelve FALSE
}
lendcount()
{
ARCHIVO * fp
int i, n = 0;
fp=fopen( "record.txt", "r");
for(I = 0; fred(& estudiante[i],sizeof(struct estudiante),1,fp)!=0; i )
{
Printf("Libro con número de tarjeta %d: % s \ n ", estudiante [i]. Kanum, estudiante [i].
prestar libro);
n = n 1;
}
fclose(FP);
Printf ("* *Actualmente prestar out %d libro\n ", n);
Printf("Presione cualquier tecla\n ");
getch();
Return n;
}
charbuck()
{
char ch5
hacer
{
Printf (" -¡Bienvenido al sistema de consulta de libros! -\ n ");
printf (" 1:\ n "); (" 2:\ n ");
printf(" 0:\ n "
Printf("¡Ingrese 0-2, otras entradas son ilegales! \ n "); );
scanf("%s ", & ampch5);
cambiar(ch5)
{
caso ' 1 ' : buscar libro(); getch(); roto;
Caso "2": buscar libro 1(); /p>
Valor predeterminado: printf("No existe tal operación\n "); getch();
}
} while(ch5! ='0'; );
Devuelve FALSO
}
lendbook()
{
ARCHIVO * fp, * fp2
int i, n;
int carnum
Printf("Por favor, introduzca su número de tarjeta\n ");
scanf( "%d",& ampcarnum);
fp=fopen("car.txt","r");
for(I = 0; frey de(&car[i ],sizeof(struct car),1,fp)!=0;i)
{
if(car[i].cardnumber==cardnumber )
{
n = I;
fclose(FP);
Printf("Ingrese el nombre del libro que desea tomar prestado\n ");
scanf("%s ", estudiante[n].prestar libro);
fp=fopen("libro.txt "," r ") ; p>
for(I = 0; fred(& ampbook[i], sizeof(estructura libro), 1, fp)! =0;i)
{
if(strcmp(libro[i]).Título del libro, estudiante[n].lendbook)==0)
{
if (libro[i].truefalse==0)
Otro
fclose(FP);
fp= fopen("record.txt","a");
Estudiante. carnum = carnum
fwrite(& estudiante[n], sizeof(estructura estudiante), 1, FP
fclose(FP); fopen("libro.txt ", " r ");
fp2=fopen("libro.txt ", " w ");
for(I = 0; fred( & ampbook[i], sizeof(estructura libro), 1, fp)! = 0;i)
{
if(strcmp(book[i]) .Título del libro, estudiante[n].
lendbook)==0)
{
Libro[I]. ture false = 0;
fwrite(& libro[i], sizeof(struct book), 1, fp2;
Continuar
}
p>
fwrite(& libro[i],sizeof(struct book),1,fp2);
}
fclose(FP);
p>
fclose(fp2);
fp=fopen("libro.txt "," w ");
fp2=fopen("libro.txt ", " r ");
for(I = 0; fred(& ampbook[i], sizeof(libro de estructura), 1, fp2)!=0;i)
{
fwrite(& libro[i],sizeof(struct book),1,FP);
}
fclose(FP);
fclose(fp2);
fopen("libro.txt ", " w ");
fclose(fp2);
Printf(" Presione cualquier tecla para regresar después de tomar prestado el libro\ n ");
getch();
Regresar;
}
}
Printf("No existe tal libro, presione cualquier tecla para regresar\n ");
fclose(FP);
getch();
getch();
p>
Retorno;
}
}
Printf(" Su número de tarjeta no existe, solicite una nueva tarjeta, presione cualquier tecla para regresar\n ");
fclose(FP);
getch();
}
Recuento de coches()
{
ARCHIVO * fp
int i, n = 0 ; p>
fp=fopen("car.txt "," r ");
for(I = 0; fred(&car[i],sizeof(struct car),1,fp) !=0;i)
{
Printf ("card %d \ n ", I 1, auto [I]. Carnum, auto [I]. Nombre científico, auto [I].);
n = n 1;
}
fclose(FP);
Printf("Actualmente * * * hay %d libros\n ", n);
Printf("Presiona cualquier tecla\n ");
getch();
}
Delkar()
{
ARCHIVO *fp, *fp2
int I;
int carnum
selección de caracteres;
fp=fopen("car.txt","r");
fp2=fopen("bookl.txt", "w");
Printf("Ingrese el número de su tarjeta para eliminarla\n ");
Printf("Si el número de tarjeta que ingresó existe, el sistema automáticamente borra la información! Si no existe, el sistema no realizará ningún cambio \n ");
scanf("%d ", & ampcarnum);
for(I = 0; fred ( & ampcar[i],sizeof(struct car),1,fp)!=0;i)
{
if (car[i].canum.
=carnum)
{
fwrite(& amp; car[i], sizeof(struct car), 1, fp2
}
}
fclose(FP);
fclose(fp2);
Printf("¿Está seguro de que desea eliminar esta tarjeta? Después eliminación, toda la información de este libro no se puede restaurar a Y/N \ N");
scanf("%s ", & amp select);
if(choice= ='y' ||choice=='Y ')
{
fp=fopen("car.txt "," w ");
fp2=fopen( "bookl.txt", "r");
for(i = 0; fred(&cars[i],sizeof(struct cars),1,fp2)!=0;i )
{
fwrite(& coche[i], tamaño de(estructura coche), 1, FP
}
<); p>fclose(FP);fclose(fp2);
fp2=fopen("bookl.txt", "w");
fclose( fp2);
Printf("Presione cualquier tecla para regresar \ n ");
getch()
Regresar; }
Otros
{
Printf("Presione cualquier tecla para regresar\ n "); p>
Regresar;
}
}
addcar()
{
ARCHIVO * fp
int I = 0;
fp=fopen("car.txt "," a ");
Printf("Por favor, introduzca el número de tarjeta \ n ") ;
scanf("%d ",& car[i].carnum);
Printf("Ingrese el nombre del estudiante\n"); p>
scanf("%s ", auto[i].nombre del estudiante);
Printf("Por favor ingrese la clase\n ");
scanf(" %d ",& amp car[i].);
fwrite(& amp;car[i],sizeof(struct car),1,FP);
fclose( FP);
p>Printf("Después de ingresar, cualquier clave devolverá \n "
getch();
}
;