Sitio web oficial de consulta de código del sistema de gestión de libros
# incluir ltstring.h gt
# incluir ltconio.h gt
# incluir ltstdlib.h gt
# incluir ltctype.h gt
#define STACK_INIT_SIZE 10
#define OK 1
#define verdadero 1
#define Falso 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*/ p>
{
int empleadonum
char nombre de empleo[15];
int empleo
char empleadoex[2];
char emplea leve[10];
long int empleatage
}empleo[50];
Libro de estructura /*Definición El tipo de libro*/
{
int booknum
char bookname[10];
char book creat[10] ; p>
int turefalse/*Condiciones para que el módulo de préstamo de libros determine si un libro es prestado*/
} book[1000];
Struct car /*Tarjeta de biblioteca tipo de datos*/
{
int carnum
char nombre del estudiante[10];
int Studentclass
}Car[100];
Huanbook() /*función de retorno*/
{
ARCHIVO *fp, * fp2/*definir 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, próximo ciclo*/
{
n = I;
fclose(FP);
Printf("Ingrese el nombre del libro que desea 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) /* Juicio sobre si el libro ingresado es prestado*/
{
If (strcmp (estudiante [I]). Lendbook, Lendbook) = = 0)/*Tomar prestado el libro e ingresar el siguiente ciclo, de lo contrario se mostrará un error*/
{
fclose(FP);
fp=fopen("record.txt ", " r ");
p>
fp2=fopen("bookl.txt","w");
for(I = 0; fred(amp estudiante[i] , sizeof(struct estudiante), 1 , fp)! =0; i )
{
if(strcmp(student[i]).lendbook, lendbook)==0)
{
Continuar; /*Eliminar el registro de préstamo del libro devuelto*/
}
fwrite(amp; estudiante[ i], sizeof(struct Student), 1 , fp2); /*Escribir un registro de libros no devueltos*/
}
fclose(FP);
fclose(fp2);
} p>
fp=fopen("record.txt ", " w ");
fp2=fopen("libro.txt "); , " r ");
for (i = 0; fred( amp estudiante[i], sizeof(struct estudiante), 1, fp2) != 0; i )
{
fwrite( amp; estudiante[i], sizeof(estructura estudiante), 1, FP /*Escribe la 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("libro.txt ", " r ");
fp2=fopen("libro.txt "); , " w ");
for(I = 0; fred(ampbook[i], sizeof(libro de estructura), 1, fp)! =0; I ) /*Escribe registros del libro en archivos temporales 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(amp;book[i],sizeof(struct book),1,fp2);/*Establece el estado original del libro devuelto en sin marcar*/
Continuar;
}
fwrite(amp;book[i],sizeof(struct book),1,fp2);
}< / p>
fclose(FP);
fclose(fp2);
fp=fopen("book.txt", "w");
fp2=fopen("bookl.txt", "r");
for(I = 0; fred(ampbook[i], sizeof(estructura libro), 1, fp2)! =0; i )
{
fwrite( amp; book[i], sizeof(struct book), 1, FP /*Vuelve a escribir el archivo temporal*/
}
fclose(FP);
fclose(fp2);
fopen("libro.txt", " w ");/* Borrar archivos temporales*/
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 return \ n "); /*Mensaje de error*/
fclose(FP);
getch();
Devuelve 0;
}
}
Printf("Esta tarjeta no existe en el sistema, comuníquese con el administrador y presione cualquier tecla para regresar\n "); /
fclose(FP);
getch();
}
findbook()
{
ARCHIVO * fp
char nombre del libro[10];
int ture,i;
fp=fopen("libro.txt ","r" );
Printf("Ingrese el título del libro que está 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 s Este libro no ha sido prestado \nPresione cualquier clave 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(ampbook[i],sizeof(estructura libro),1,fp)!=0;i)
{
if (strcmp(bookcreat,book[i]).bookcreat)==0)
{
if (book[i].turefalse==1)
{
Printf("La información detallada de este libro es: d s s Este libro no ha sido prestado\nPresione cualquier tecla para regresar\n ", Libro [i]. Booknum, Libro [i]. Título del libro, libro[i].bookcreat);
}
Else {printf("Este libro ha sido prestado\n"); }
fclose(FP);
Return FALSE
}
}
Printf("Sin ti Libros a consultar\n ");
fclose(FP);
devuelve FALSE
}
lendcount() p>
lendcount()
p>
{
ARCHIVO * fp
int i, n = 0
<; p>fp=fopen("record.txt ", " r " );for(I = 0; fred(amp estudiante[i],sizeof(estructura estudiante),1,fp)!= 0;i)
{
Printf("Libro con cédula número d: s\n", estudiante[i]. Kanum, estudiante [yo].
prestar libro);
n = n 1;
}
fclose(FP);
Printf ("* *Actualmente prestar sacar libro d\n ", n);
Printf("Presione cualquier tecla\n ");
getch();
Regresar n ;
}
charbuck()
{
char ch5
hacer
{
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 "); ("¡Ingrese 0-2, otras entradas son ilegales! \ n ");
scanf("s ", ampch5
Switch (ch5)
p); >{
caso ' 1 ': buscar libro(); getch();
Caso "2": buscar libro 1(); ;
Caso "0": break;
Valor predeterminado: printf("No existe tal operación\n "); getch();
}
} while(ch5!='0');
Devuelve FALSO
}
lendbook()
{
FILE *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; fred(ampcar[i],sizeof(struct car),1,fp)!=0;i)
{
if (car[ i].número de tarjeta = número de tarjeta)
{
n = I;
fclose(FP);
Printf(" Por favor 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( amp; estudiante[n], tamañode(estructura estudiante), 1, FP
fclose(FP); =fopen("libro.txt ", " r ");
fp2=fopen("libro.txt ", " w "); (ampbook[i],sizeof(struct book),1,fp)!=0;i)
{
if(strcmp(book[i]).nombre del libro, estudiante[n]. lendbook)==0)
{
Libro[I].
ture false = 0;
fwrite(amp;book[i],sizeof(struct book),1,fp2);
Continuar;
}
fwrite(amp;book[i],sizeof(struct book),1,fp2);
}
fclose(FP);
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)
{ p>
fwrite(amp;libro[i],sizeof(struct book),1,FP);
}
fclose(FP);
fclose(fp2);
fopen("bookl.txt "," w ");
fclose(fp2);
Printf("pedir prestado Presione cualquier tecla después del libro para regresar\n ");
getch();
Return;
}
}
Printf("No existe tal libro, presione cualquier tecla para regresar\n ");
fclose(FP);
getch();
Regresar;
}
}
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(ampcar[i],sizeof(struct car),1,fp)!=0;i)
{
Printf( "Tarjeta d
n = n 1;
}
fclose(FP);
Printf("Actualmente * * * dbook\n ", n);
Printf("Presione cualquier tecla\n ");
getch();
} p >
delcar()
{
ARCHIVO *fp, *fp2
int I
int carnum; p>
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, el sistema lo eliminará automáticamente). ¡información! Si no existe, el sistema no realizará ningún cambio \n ");
scanf("d ", ampcarnum);
for(I = 0; fred( ampcar [ i], tamaño de(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 de la eliminación , No se puede restaurar toda la información de este libro a Y/N\N");
scanf("s", amp select);
if(choice=='y' ||elección =='Y ')
{
fp=fopen("car.txt "," w ");
fp2=fopen( "bookl. txt "," r ");
for(I = 0; fred(ampcar[i],sizeof(structcar),1,fp2)!=0;i)
{
fwrite( amp; coche[i], tamaño de(estructura coche), 1, FP
}
fclose(FP )
fclose(fp2);
fp2=fopen("libro.txt ", " w ");
fclose(fp2); > p>
Printf("Presione cualquier tecla para regresar \ n ");
getch()
Regresar
}
Otro
{
Printf("Presione cualquier tecla para regresar\n ");
getch();
Retorno;
}
}
addcar()
{
ARCHIVO * fp
int I = 0;
fp=fopen("car.txt "," a ");
Printf("Por favor, introduzca el número de tarjeta\ n ") ;
scanf("d", amp car[i].carnum);
Printf("Ingrese el nombre del estudiante\n");
scanf("s", auto[i].nombre del estudiante);
Printf("Por favor, ingresa la clase\n");
scanf("d", amp car[ i].clase de estudiante);
fwrite( amp; car[i], sizeof(struct car), 1, FP
fclose(FP);
Printf("Entrada Después de eso, cualquier clave devolverá \n ");
getch();
}