La Red de Conocimientos Pedagógicos - Conocimientos históricos - Colección de códigos de biblioteca de gestión de libros

Colección de códigos de biblioteca de gestión de libros

# incluir & ltstdio.h & gt

# incluir & ltstring.h & gt

# incluir & ltconio.h & gt

# incluir & ltstdlib. h & gt

# include & ltctype.h & gt

#define STACK_INIT_SIZE 10

#define OK 1

#define true 1

#Definición falsa 0

#Error de definición 0

Estructura estudiante/* define el tipo de estudiante, utilizado para almacenar libros prestados*/

{

int carnum

char lend book[10];

}estudiante[1000];

Estructura Empleado/ *Definir tipo de empleado*/

{

int empleadonum

char nombre de empleo[15];

int empleo

p>

char empleadoex[2];

char emplear nivel[10];

long int empleatage

}employ[50];

p>

Estructura del libro /*define el tipo de libro*/

{

int booknum

char bookname[10] ;

char book creat[10];

int turefalse/*Condiciones para que el módulo de préstamo de libros determine si un libro es prestado*/

} libro [1000];

Struct car /*Tipo de datos de la tarjeta de la biblioteca*/

{

int carnum

char nombre del estudiante[ 10];

int Studentclass

}Che[100];

Huanbook() /*función de retorno*/

{

ARCHIVO *fp, *fp2/* definen 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 archivos temporales para evitar que los registros anteriores sean destruidos por la información de modificación*/

{

If (i==n)

{

Libro[i].

ture false = 1;

fwrite(& book[i], sizeof(struct book), 1, fp2 /*Establece el estado original del libro devuelto en sin marcar*/<); 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();

Return 1;

}

}

Printf("No tomaste prestado ese libro, presiona cualquier tecla para regresar \ n "); /*Mensaje de error*/

fclose(FP);

getch();

Devuelve 0;

fclose(FP);

Devuelve 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];

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].turefalse==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);

}

Else {printf("Este libro ha sido prestado\n "); fclose(FP);}

fclose; (FP);

Return FALSE

}

}

Printf("No hay ningún libro que quieras consultar\n " ) ;

fclose(FP);

Devolver FALSO

}

findbook1()

{< / p>

ARCHIVO * fp

char libro creat[10];

int tura, i;

fp=fopen("book.txt " , " r ");

Printf("Ingrese el nombre del autor que está buscando \ n ");

scanf("%s ", bookcreat);

for(I = 0; fred(&book[i],sizeof(libro de estructura),1,fp)!=0;i++)

{

if(strcmp(bookcreat,libro[i]).bookcreat)==0)

{

if (libro[i].turefalse==1)

{

Printf("La información detallada de este libro es: %d %s %sEste libro no ha sido prestado\nPresione cualquier tecla para regresar\n", Libro [i]. Booknum, Libro[i]. Nombre del libro, libro[i].bookcreat);

}

Else {printf("Este libro ha sido prestado\n"); ); devolver 0;}

fclose(FP);

Devolver FALSO

}

}

Printf("No hay ningún libro que desee consultar\n ");

fclose(FP);

Devuelve FALSE

}

lendcount()

{

ARCHIVO * fp

int i, n = 0;

fp=fopen("registro .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 [yo].

prestar libro);

n = n+1;

}

fclose(FP);

Printf ("* *Actualmente Se ha prestado %d libro\n ", n);

Printf("Presione cualquier tecla\n ");

getch();

Volver n;

}

charbuck()

{

char ch5

Hacer

p >

{

Printf (" -¡Bienvenido al sistema de consulta de libros! -\ n "

printf(" 1:& lt; Buscar por título> \ n); ");

printf(" 2:& lt;Buscar por autor> \n ");

printf(" 0:& lt;Volver a > \n ");

Printf("¡Ingrese 0-2, otras entradas son ilegales! \ n "

scanf("%s ", & ampch5

Cambiar (ch5)

{

caso ' 1 ': buscar libro(); getch();

Caso "2": buscar libro 1; (); getch(); break;

Caso "0": break;

Valor predeterminado: printf ("No existe tal operación\n ");

}

} while(ch5!='0');

Devuelve FALSO

}

lendbook()

{

ARCHIVO *fp, * fp2

int i, n;

int carnum

Printf("Ingrese su número de tarjeta\ n ");

scanf("%d ", & ampcarnum);

fp=fopen("car.txt ", " r ");

for(I = 0; fred(& ampcar[i], sizeof(struct car), 1, fp)!=0;i++)

{

Si (coche [I]. Número de tarjeta = = número de tarjeta)

{

n = I;

fclose( FP );

Printf("Ingrese el nombre del libro que desea pedir prestado\ n ");

scanf("%s ", estudiante[n].prestar libro)

fp=fopen("book.txt", "r");

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]. true false == 0){ printf("Lo siento, este libro ha sido prestado, por favor tome prestado otros libros\n "); ); retorno; }

Otros

fclose(FP);

fp=fopen("record.txt", "a+");

fclose(FP); p>

Estudiantes.

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( &book[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();

Volver;

}

}

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

fp=fopen("car.txt "," r ");

for(I = 0; fred(&car[i],sizeof(struct car),1,fp) !=0;i++)

{

Printf("Tarjeta %d

n = n+1;

}

fclose(FP);

Printf ("Actualmente * * *hay %d libros\n ", n);

Printf("Presione 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 tarjeta que desea eliminar \ n ") ;

Printf("Si el número de tarjeta que ingresó existe, la información del sistema se eliminará automáticamente. Si no existe, el sistema no realizará ningún cambio \n ");

scanf("%d ", & ampcarnum);

for(I = 0; fred ( &car[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("Por favor, introduzca el nombre del estudiante\n");

scanf("%s ", auto[i].nombre del estudiante);

Printf("Por favor ingrese la clase\n ");

scanf(" %d ",& amp car[i].clase de estudiante);

fwrite(& amp;car[i],sizeof(struct car),1,FP);

fclose(FP);

Printf("Después de la entrada, cualquier clave devolverá \n ");

getch();