Red de conocimiento informático - Consumibles informáticos - ¡Recompensas por puntuaciones altas! ¡Buscando un código fuente del sistema de gestión de bibliotecas escrito en lenguaje C! Urgente ~~

¡Recompensas por puntuaciones altas! ¡Buscando un código fuente del sistema de gestión de bibliotecas escrito en lenguaje C! Urgente ~~

# incluir ltstdio.h gt

# 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)

{

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)

{

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*/

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)

{

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*/

fclose(FP);

getch();

}

void main()

{

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,