¡Recompensas por puntuaciones altas! ¡Buscando un código fuente del sistema de gestión de bibliotecas escrito en lenguaje C! Urgente ~~
# 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 Studentnum, phonenum
char lend book[10];
}student[1000];
Struct book /* define el tipo de libro */
{
char nombre del libro[11];
char editor[20];
char página;
año de carácter[6];
estado de carácter[4];
nombre de carácter[11];
autor de carácter[51];
p>char booknum
char book creat[10];
char lendnum
char turefalse/*El módulo de préstamo y devolución de libros determina si el libro es prestado Condiciones*/
} libro[1000];
Estructura vagón /*tipo de datos de la tarjeta de biblioteca*/
{
int carnum
char nombre del estudiante[10];
int Studentclass
int Studentphone
}car[100];
int claseestudiante
int teléfonoestudiante
}car[100];
p>addcar()
{
ARCHIVO * fp
int I = 0;
doble allnum, stillbook, outbook, allmoney, avemoney
fp=fopen( "car.txt", "a");
Printf("Por favor ingrese el nombre del estudiante\n");
scanf("s ", car[i].student name);
Printf("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 del registro, presione cualquier tecla para regresar \ n ");
fp=fopen("book.txt ", " r "); / all num;
fclose(FP);
Printf("Número total de libros: ld, libros prestados: ld, libros en la biblioteca: ld, lugar total de origen de los libros : ld, precio medio del libro: ld ",
stillbook, outbook, allmoney, save money);
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
i 1, coche[i]. carnum, coche[i]. Nombre del estudiante, coche[i]. Clase de estudiante, coche[ i]. Teléfono del estudiante);
n = n 1;
}
fclose(FP); "Actualmente * * *Hay d libros\n ", n);
Printf("Presione cualquier tecla\n ");
getch(); p> }
void findbook()
{
ARCHIVO * fp
char nombre del libro[10];
int ture, I, booknum
fp=fopen("book.txt ", " r ");
Printf("Ingrese el número de libro que está buscando" );
scanf("d", ampbooknum);
for(I = 0; fred(ampbook[i], sizeof(libro de estructura), 1, fp)!= 0 ; i )
{
if(strcmp(booknum, libro[i]).booknum)==0)
{
si(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 ]. Título del libro, libro[i].
bookcreat);
Else {printf("Este libro ha sido prestado\n "); fclose(FP return 0;}
fclose(FP);
Devolver FALSE
}
Otros
Printf("No hay ningún libro que quieras consultar\n ");
fclose(FP);}
Devolver FALSE
}
Libro de préstamo nulo(libro de estructura *m) //Función de libro de préstamo
{
int num
Libro de estructura *b, * b 1;
Printf("Ingrese el código de préstamo: ");
scanf("d ", ampnum);
b = searchbook(number);/*Llame a la función para buscar nodos del libro*/
If (b!=null) p>
{
if (m- gt;borrownum lt10)
{
//b- gt;status="0" ;
//b 1 = amp; m- gt; libro [m- gt; lendum];
strcpy(b 1->; autor, b- gt; autor
b 1->; booknum = b- gt; strcpy( b 1->;año, b- gt;año);
b 1->;página = b- gt;página;
strcpy(b 1->; editor, b- gt; editor);
//b 1- gt; precio = b- gt;
//b 1- gt; ;Estado;
m- gt;borrownum;
Printf("¡Tomé prestado el libro exitosamente!", b- gt;nombre);
getch( ) ;
}
Otro
{
Printf("Has tomado prestados 10 libros.");
getch();
}
}
Otro
{
Printf("No, el libro que deseas tomar prestado ");
getch();
}
}
Huanbook() /*Función de retorno. */
{
ARCHIVO *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, booknum
char lend; libro [10];
Printf("Por favor, introduzca su número de tarjeta\n ");
scanf("d", ampcarnum);
fp= fopen ("car.txt", "r");/*Leer registro de número de tarjeta*/
{
If (car[i].
carnum==carnum) /*El número de tarjeta existe, próximo ciclo*/
{
n = I;
fclose(FP);
Printf("Ingrese el booknum \ n \ n " del libro que desea devolver
scanf("d ", ampbooknum
fp=fopen); (" record.txt "," r ");
for(I = 0; fred(amp estudiante[i],sizeof(struct estudiante),1,fp)!=0;I)/ *Determinar si el libro ingresado ha sido prestado*/
{
If (strcmp (estudiante [I]). Lendbook, Lendbook) = = 0)/*Tomar prestado el libro, ingrese el siguiente paso Un bucle, de lo contrario se muestra un error*/
{
fclose(FP);
fp=fopen("record.txt " , " r ");
fp2=fopen("bookl.txt", "w");
for(I = 0; fred(amp estudiante[i], tamaño de (estructura estudiante), 1, fp)! =0; i )
{
if(strcmp(estudiante[i]).lendbook, lendbook)==0) p>
{
Continuar; /*Eliminar el registro de préstamo del libro devuelto*/
}
fwrite(amp; estudiante[i] , sizeof(struct Student) , 1, fp2); /*Escribe un registro de los libros que no han sido devueltos*/
}
fclose(FP);
fclose(fp2);
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);
p>fclose(fp2);
fopen("bookl.txt", "w");/*Borrar el registro de archivos temporales*/ p>
fclose(fp2) ;
fp=fopen("libro.txt ", " r ");
fp2=fopen("libro.txt ", " w ");
for(I = 0; fred(ampbook[i], sizeof(estructura libro), 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;
}
Otros
Printf("No tomaste prestado ese libro, presiona cualquier tecla para return \ n ");}/*Mensaje de error*/
fclose(FP);
getch();
Devuelve 0;
}
Otros
Printf("Esta tarjeta no existe en el sistema, comuníquese con el administrador y presione cualquier tecla para regresar\n ");}/*Error mensaje*/ p>
fclose(FP);
getch();
}
void main()
{ p>
Libro de estructura * m;
char ch5
do
{
Printf (" -¡Bienvenido a utilizar el sistema de consulta de libros! -\ n ");
printf(" 1: lt; número de tarjeta de registro> \ n ");
printf(" 2: lt ; información del número de tarjeta> \ n ");
printf(" 3: lt; Buscar por número de libro > \ n ");
printf(" 4: lt; Pedir prestado libro >\ n");
p>printf(" 5: lt; devolver libro > \ n ");
printf(" 0: lt; volver a > \ n ") );
Printf ("¡Ingrese 0-5, otras entradas son ilegales! \ n ");
scanf("s ", ampch5);
cambiar(ch5)
{
caso ' 1 ': addcar(); getch();
Caso "2": recuento de automóviles(); getch();
Caso "3": buscar libro(); getch(); break;
Caso '4': pedir prestado (m); getch(); ;break;
Caso "0": break;
Valor predeterminado: pr
intf("No existe tal operación\ n "); getch(); break;
}
} while(ch5!='0'); //Devuelve FALSE
}
Cámbialo tú mismo, debería estar bien,