Red de conocimiento informático - Conocimiento del nombre de dominio - Buscamos urgentemente el código fuente del sistema de gestión de bibliotecas escrito en lenguaje C

Buscamos urgentemente el código fuente del sistema de gestión de bibliotecas escrito en lenguaje C

#includelt; stdio.hgt;

#includelt; includelt; stdlib.hgt;

#includelt;ctype.hgt;

#define STACK_INIT_SIZE 10

#define OK 1

# define VERDADERO 1

#define FALSO 0

#define ERROR 0

struct Student /*Define el tipo de estudiante, utilizado para almacenar libros prestados*/

{

int carnum;

char lendbook[10];

}estudiante[1000]

estructura emplear; /*definir tipo de empleado*/

{

int empleadonum;

char nombre de empleo[15]

int empleo; p>

char empleasex[2];

char emplealeve[10];

empleo int largo

}empleo[50]; p>

struct book /*definir el tipo de libro*/

{

int booknum

char bookname[10]; >

p>

char bookcreat[10];

int turefalse; /*Condiciones utilizadas por el módulo de préstamo y devolución de libros para determinar si un libro es prestado*/

} book[1000];

struct car /*tipo de datos de la tarjeta de biblioteca*/

{

int carnum; >char nombre de estudiante[10];

int clase de estudiante;

}car[100];

huanbook() /*Función de devolución de libro*/

{

ARCHIVO *fp, *fp2; /*Define dos punteros de archivo, fp2 se usa para configurar un archivo temporal al modificar datos para evitar que se dañen*/

int i, n;

int carnum;

char lendbook[10];

printf("Ingrese su número de tarjeta\n")

p>

scanf("d", y carnum);

fp=fopen("car.txt", "r"); registro numérico*/

for(i=0; fread(amp; car[i], sizeof(struct car), 1, fp)!=0; i ) /*for bucle para determinar si el el número de tarjeta existe*/

{

if(car[i].carnum==carnum) /*El número de tarjeta existe, ingresa al siguiente ciclo*/

{

n=i

fclose(fp);

intf("Ingrese el nombre del libro que desea devolver\n");

scanf("s", lendbook);

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

for(i=0; fread(amp; Student[i], sizeof(struct Student), 1, fp)!=0; i) /*Juzga si el la entrada ha sido un libro prestado*/

{

if(strcmp(student[i].lendbook, lensbook)==0) /*Tomé prestado el libro y entré al siguiente ciclo, de lo contrario se produjo un error Mostrar*/

{

fclose(fp

fp=fopen("record.txt", "r"); /p>

fp2=fopen("bookl.txt", "w");

for(i=0; fread(amp; 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(amp; Student[i], sizeof(struct Student), 1, fp2 ); /*Escribe el registro del libro original no devuelto*/

}

fclose(fp);

fclose(fp2); /p >

fp=fopen("record.txt", "w");

fp2=fopen("libro.txt", "r"); for( i=0; fread(amp; estudiante[i], sizeof(struct estudiante), 1, fp2)!=0; i )

{

fwrite(amp; estudiante[ i], sizeof(struct Student), 1, fp); /*Vuelve a escribir la información del registro de préstamo*/

}

fclose(fp);

fclose(fp2);

fopen("bookl.txt", "w"); /*Borrar el registro de archivos temporales*/

fclose(fp2);

p>

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

fp2=fopen("libro.txt", "w");

for (i=0; fread(amp; book[i], sizeof(struct book), 1, fp)!=0; i) /*Escribe el registro del libro en un archivo temporal para evitar que se eliminen registros anteriores. destruido debido a información modificada* /

{

if(i==n)

{

libro[i].turefalse=1;

fwrite(amp; libro[i], sizeof(struct book), 1, fp2) /*Establece el estado original del libro devuelto como no prestado*/

continue

}

fwrite(amp; book[i] , sizeof( libro de estructuras), 1, fp2);

}

fclose(fp);

fclose(fp2); fopen("libro.txt", "w");

fp2=fopen("libro.txt", "r"); for(i=0 ; fread( amp libro[i], tamaño de (estructura libro), 1, fp2)!=0 )

{

fwrite(y libro[i], tamaño de (estructura) book), 1, fp); /*Escribe el archivo temporal*/

}

fclose(fp);

fclose(fp2 ); /p>

fopen("bookl.txt", "w"); /*Borrar archivos temporales*/

fclose(fp2);

printf( "Después de regresar el libro, presione cualquier tecla para regresar\n");

getch();

devolver 1;

}

}

printf("No has tomado prestado ese libro, ninguna clave regresa\n"); /*Mensaje de error*/

fclose(fp); > getch();

return 0;

}

}

printf("El sistema no tiene dicha tarjeta, y el contacto del administrador, 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 está buscando\ n");

scanf("s", nombre del libro);

for(i=0; fread(amp; libro[i], sizeof(struct book), 1, fp)!=0; i )

{

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

{

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

{

printf("Los detalles de este libro son: d s s Este libro no está marcado actualmente\nPresione cualquier tecla para regresar\n", libro[i].booknum, libro[i].bookname, libro[i].bookcreat

}

else {printf("Este libro ha sido prestado\n"); fclose(fp); return 0;}

fclose( fp); /p>

return FALSE;

}

}

printf("No hay ningún libro que desee consultar\n"); p>

fclose(fp);

devuelve FALSO

}

findbook1()

{

p>

ARCHIVO *fp;

char bookcreat[10];

int tura, i

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

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

scanf("s", bookcreat) ;

for(i=0;fread(amp;book[i],sizeof(struct book),1,fp)!=0;i)

{

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

{

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

{

printf("Los detalles de este libro son: d s s Este libro no está marcado actualmente\nPresione cualquier tecla para regresar\n", libro[i].booknum, libro[i] .bookname, libro [i].bookcreat);

}

else {printf("Este libro ha sido prestado\n");

p>

fclose(fp);

devuelve FALSO

}

}

printf(" Nada que quieras consultar libros\n");

fclose(fp);

return FALSE;

}

lendcount( )

{

ARCHIVO *fp;

int i, n=0;

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

for(i=0; fread(amp; estudiante[i], sizeof(struct estudiante), 1, fp)!=0; i )

{

printf("Número de tarjeta: d libro prestado: s\n", estudiante[i].carnum, estudiante[i].lendbook

n=n 1); ;

n=n 1;

p>

}

fclose(fp);

printf("Actualmente * ** hay d libros en préstamo\n", n);

printf("Presione cualquier tecla\n");

getch();

return n;

}

chabook()

{

char ch5

hacer;

{

printf("---------------¡Bienvenido al sistema de consulta de libros!---------- ---\n");

printf(" 1: lt; buscar por título del libro; \n");

printf(" 2: lt; buscar por autor gt ;\n");

printf(" 0:lt; return gt;\n");

printf("¡Ingrese 0--2, otras entradas son ilegales! \n");

scanf("s",amp;ch5);

cambiar(ch5)

{

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

caso '2': buscar libro1(); romper

caso '0';

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

}

} while(ch5!='0'

devuelve FALSO

}

lendbook()

{

ARCHIVO *fp, * fp2;

int i, n;

int carnum;

printf("Ingrese su número de tarjeta\n"); >scanf("d", y carnum);

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

for(i=0; fread( y ; coche[i], tamaño de(estructura coche), 1, fp)!=0; i )

{

if(car[i].carnum==carnum)

{

n=i;

fclose(fp);

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

scanf("s", estudiante[n].lendbook);

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

p>

for(i=0;fread(amp;book[i],sizeof(struct book),1,fp)!=0;i)

{

if(strcmp(libro[i].nombredellibro, estudiante[n].lendbook)==0)

{

if(libro[i] .turefalse==0) {printf("Lo siento, este libro está prestado, por favor tome prestados otros libros\n"); fclose(fp); getch();

fclose( fp);

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

um=carnum;

fwrite(amp; estudiante[n], sizeof(struct estudiante), 1, fp>

fclose(fp); fp=fopen("libro.txt", "r");

fp2=fopen("libro.txt", "w"); fread(amp;libro[i],sizeof(struct book),1,fp)!=0;i)

{

if(strcmp(libro[i].nombredellibro , estudiante[n].lendbook)==0)

{

libro[i].turefalse=0

fwrite(amp;book[i; ], tamaño de (libro de estructuras), 1, fp2);

continuar

}

fwrite(amp; libro[i], tamaño de (libro de estructuras) ), 1, fp2);

}

fclose(fp);

fclose(fp2); "libro.txt", "w");

fp2=fopen("libro.txt", "r");

for(i=0; fread(amp; libro[i], tamaño de(estructura libro), 1, fp2)!=0; i )

{

fwrite(amp; libro[i], tamaño de(estructura libro) , 1, fp);

}

fclose(fp);

fclose(fp2); txt", "w");

fclose(fp2);

printf("El préstamo está completo, presione cualquier tecla para regresar\n");

getch();

return;

}

}

printf("No existe tal libro, cualquier clave devuelve\n ");

fclose(fp);

getch();

retorno;

}

}

printf("Su número de tarjeta no existe, solicite una nueva tarjeta, presione cualquier tecla para regresar\n"); >

getch();

}

carcount()

{

ARCHIVO *fp; p>int i , n=0;

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

for(i=0;fre

ad(amp; car[i], sizeof(struct car), 1, fp)!=0; i )

{

printf("La tarjeta dth lt; número de tarjeta :d Nombre: s Clase: dgt;\n", i 1, coche[i].carnum, coche[i].nombreestudiante, coche[i].claseestudiante);

n=n 1;

}

fclose(fp);

printf("Actualmente *** hay d libros\n", n); p>printf("Presione cualquier tecla\n");

getch();

}

delcar()

{

ARCHIVO *fp, *fp2;

int i;

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

fp2=fopen("bookl.txt", "w");

printf("Por favor, ingrese El número de tarjeta que desea eliminar\n");

printf("¡Si el número de tarjeta que ingresó existe, el sistema eliminará automáticamente la información! Si no existe, el sistema no realizará ninguna cambios\n");

scanf("d", amp; carnum);

for(i=0; fread(amp; car[i], sizeof(struct car ), 1, fp)!=0 ; i )

{

if(car[i].carnum!=carnum)

{

fwrite(amp; auto [i], sizeof(struct car), 1, fp2

}

}

fclose(fp); );

fclose(fp2);

printf("¿Realmente desea eliminar la tarjeta? Después de la eliminación, no se puede recuperar toda la información del libro "Y/N". \n");

scanf("s",amp;choice);

if(choice=='y'||choice=='Y')

{

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

fp2=fopen("libro.txt", "r"); /p>

for(i=0; fread(amp; car[i], sizeof(struct car), 1, fp2)!=0; i )

{

fwrite(amp; coche[i], tamaño de (estructura coche), 1, fp

}

fclose(fp> fclose); (fp2);

fp2 =fopen("bookl.txt", "w");

fclose(fp2);

printf("Presione cualquier clave para regresar\n");

getch();

regresar;

}

else

{

printf("Presione cualquier tecla devuelve\n");

getch();

retorno

}

}

addcar()

{

ARCHIVO *fp;

int i=0;

fp=fopen("car.txt", "a "); ("Ingrese el número de tarjeta\n");

scanf("d", amp; car[i].carnum

printf("Ingrese el nombre del estudiante); \n" n");

scanf("s", car[i].studentname);

printf("Por favor, ingrese la clase\n"); >

scanf("d", auto[i].studentclass);

fwrite(car[i], sizeof(struct car), 1, fp>); fclose(fp);

printf("Ingreso completado, cualquier clave devuelve\n");