Estoy buscando urgentemente el código fuente del sistema de gestión de libros de programación en lenguaje C.
# incluir & ltmath.h & gt
# incluir & ltstdlib.h & gt
# incluir & ltstring. h & gt
#Definición N 100 //Número máximo de libros
Libro de estructura
{ char title[30];
int Número;
char autor[30];
Precio flotante;
int store
char nombre del prestatario[20];
char prestatario_género[5];
int prestatario_número;
} s[N]; >
void input(struct book * p); //Ingresar información del libro
void save(struct book * p); //Guardar información del libro
void read(struct); book * p); //Leer información del libro
void search(struct book * p); //Buscar información del libro
void del(struct book * p); información del libro
void lend(struct book * p); //Pedir prestado el libro
void retur(struct book * p); //Devolver el libro
p>void main()
{
int x;
Hacer
{
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.
"* * * * * * * * * * 1. Ingrese la información del libro* * * * * * * * * \ n "
"* * * * * * * * * * 2. Buscar información del libro * * * * * * * * * \ n "
"* * * * * * * * * 3. Eliminar información del libro * * * * * * * * * \ n "
"* * * * * * * * * * 4. Pedir prestado libros* * * * * * * * * \ n "
"* * * * * * * * * 5. Volver al libro * * * * * * * * * \ n "
"* * * * * * * * * * 0. Salir * * * * * * * * * * \ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");
Printf("Por favor, comience desde 0- Seleccione entre 5, finalice con Enter\n ");
scanf("%d ", & ampx);
Switch (x)
Caso 1 :Input(& amps[0]);
Caso 2: Buscar(& amps[0]); 0] );
Caso 4: pedir prestado (& amps[0]);
Caso 5: devolver(& s[0]); p> p>
Caso 0: roto;
}
}mientras(x!=0);
}
void input(structbook *p)
{ int y;
for(;p & lt(& amps[0]+N);p++)
{ printf("Ingrese un título:"); scanf("%s ", p-& gt; título);
Printf("Ingrese un número:"); d ",& ampp->; número);
Printf("Ingrese el autor:"); scanf("%s", p->autor);
Printf("Ingrese el precio del libro: "); scanf ("%f", &p-> precio
Printf ("Ingrese la cantidad del libro: "); ", &p- >; store);
m++;
Printf("Se ha ingresado %d información. ¿Quieres continuar? \nPresione cualquier tecla para continuar, presione 0 para finalizar. , m);
scanf("%d ", & ampy);//Quieres seguir leyendo
Si (y==0)
{Save(&s[0]);
Read(&s[0]);//Llamar a la función de lectura de archivos
Break;
}
}
}
Búsqueda vacía(structbook *p)//Módulo de consulta
{ int n;
nombre de char 1[20];
nombre de char 2[20];
char c[3];
Hacer
p = & amps[0];
printf("\tElija un método de búsqueda:\n");//Imprimir menú del modo de consulta
Printf(" 1 .
Buscar por título\n 2. Buscar por autor\n 0. return \ n ");
Printf("Seleccione entre 0-2:\ n \ n ");
scanf("%d ", & ampn);/ / Leer modo de búsqueda
if(n = = 0)break;
Cambiar (n)
{caso 1: printf("Ingrese un título: \ n "); scanf ("%s ", nombre 1); roto;
Caso 2: printf ("Ingrese el autor: \ n "); scanf ("%s ", nombre 2) ;romper;
}
for(;p & lt& amps[m];p++)
{read(& amps[0]); Llame a la función de lectura
if(strcmp(p-& gt; título, nombre 1)==0 | | strcmp(p-& gt; autor, nombre 2)==0)
{ printf("\n¡Información del libro encontrada correctamente!\n");
Printf("Número de título del libro, autor, precio y cantidad\n");
printf (" %-10s %-10d %-10s %-10.2 f %-10d \n ",p->Título,p->Número,p->Autor,p->Precio,p- & gt ; store); //Imprimir información
Break;
}
}
Printf("¿Quieres continuar buscando? \n"Sí", escriba "Sí", "No", presione cualquier tecla para regresar al menú\n));
scanf("%s ", c);
} while(strcmp(c, " yes ")== 0); // Determina si ha terminado.
}
Void del(structbook *p)//Eliminar módulo
{ int I
Libro de estructura *p1, * p2
nombre de carácter 1[20];
nombre de carácter 2[20]; n;
Hacer
p = & amps[0];
Printf("Seleccione eliminar y finalice con Enter:\ n "); Imprimir menú del modo de eliminación
Printf( "1. Eliminar por título\n 2. Eliminar por autor\n 0.
return \ n ");
Printf("Seleccione entre 0-2:\ n \ n ");
scanf("%d ", & ampn);/ / Leer buscador//
if(n = = 0)break;
Cambiar (n)
{case 1:printf("Ingrese el título: \ n ");
scanf("%s ", nombre 1); roto;
Caso 2: printf("Ingrese el autor: \ n ");
scanf("%s ", nombre 2);
}
read(& amps[0]); >
for(I = 0;i<m;i++,p++)
{
if(strcmp(p->título,nombre 1)= = 0 | | strcmp (p-& gt; autor, nombre 2)==0)
{ p 1 = p
for(p2 = p 1+1; p2 <= &s[m; ];p1++,p2++)
{
strcpy(p 1->;título, p2->título);
strcpy(p 1-> autor, p2->autor);
p 1->número = p2->número;
p 1- >tienda = p2->almacenamiento;
p 1->price=p2->price;
m-;
Printf ("¡¡Eliminación exitosa!!\ n "); p>}
}
Else {printf("¡¡Este libro no tiene registro!!");
Pausa;}
}
Printf("¿Continuar eliminando?" Escriba "Sí" para "Sí", presione cualquier tecla para "No" para volver al menú\n ));
scanf("%s ", c); //¿Quieres continuar leyendo?
Save(& amps[0] //Llama a la función guardar
p>} while(strcmp(c, " yes ")== 0); // Determinar si continuar con la eliminación.
}
Préstamo nulo(structbook *p)//Módulo de préstamo
{ int z;
char name3[20], nombre 4[20];
char w[3];
hacer
p = & amps[0];
Printf ("¡Primero busque el libro que desea pedir prestado!");
Printf("Elija un método de búsqueda: \ n "); //Imprimir menú del modo de consulta
Printf (" 1. Buscar por título\n 2. Buscar por autor\n 0.
return \ n ");
Printf("Seleccione entre 0-2:\ n ");
scanf("%d ", & ampz); //Leer Obtener modo de búsqueda
if(z = = 0)break;
Cambiar (z)
{caso 1: printf("Ingrese un título:\n "); scanf("%s ", nombre 3); break;
Caso 2: printf("Ingrese el autor:\ n "); scanf("%s ", nombre 4); break ;
}
Read(& amps[0]);//Llamar a la función de lectura
for(;p & lt& amps[m]; p++ )
{ if(strcmp(p-& gt; título, nombre 3)== 0 | | strcmp(p-& gt; autor, nombre 4)==0)
{
printf("\n¡Información del libro encontrada exitosamente!\n");
Printf("Número de título del libro, autor, precio y cantidad\n"); p>
printf(" %-10s %-10d %-10s %-10.2 fs %-10d \ n ", p-> título, p-> número,
p-> ; Autor, p-& gt; Precio, p-& gt; almacenar); //Imprimir información
Printf("Ingrese su nombre:"); gt; Nombre_prestatario);
Printf("Ingrese su género:"); scanf("%s ", p-& gt; Género_prestatario); su número de estudiante:"); scanf("%d", &p->;borrower_number);
p->store-;
Printf("¡Préstamo exitoso! \ n "
Printf("Número de título del libro, número de precio del autor, número de género del prestatario\ n "
printf( " %-10s %-10d %-10s %-10.2); f %-10d %-10s %-10s %-10d \ n ",p->;Título,p->Número,p->Autor,
p->; Precio, p- & gt; Tienda, p-& gt; Nombre del prestatario, p-& gt; Género_prestatario, p-& gt; Número_prestatario); p>}
Printf("Continuar tomando prestados libros");
Printf ( "yes "Escriba "sí", "No "Presione cualquier tecla para regresar al menú\ n ");
scanf("%s ", w); // ¿Quieres continuar leyendo?
Save(& amps[0]); //Llama al guardado function
} while(strcmp(w, "yes")== 0); //Determina si continuar tomando prestados libros.
}
void reur(struct Book * p)//Módulo de devolución de libro
{ int e, f
char name; 5[20];
nombre de carácter 6[20];
char t[3];
hacer
p = & amps[0];
Printf("¡Primero busque el título que desea devolver!");
Printf("Elija un método de búsqueda:\ n ");/ /Imprimir menú del modo de consulta
Printf(" 1. Buscar por título\n 2. Buscar por autor\n 0.
return \ n ");
Printf("Seleccione entre 0-2: \ n \ n ");
scanf("%d ", & ampe);/ / Leer modo de búsqueda
if(e = = 0)break;
Cambiar (e)
{caso 1: printf("Ingrese un título: \ n "); scanf("%s ", nombre 5); break;
Caso 2: printf("Ingrese el autor:\n "); scanf("%s ", nombre 6) ;Break;
}
Read(& amps[0]); //Llama a la función de lectura
for(;p & lt& amps[m] ;p++)
{ if(strcmp(p-& gt; título, nombre 5)== 0 | | strcmp(p-& gt; autor, nombre 6)==0)
{ printf("\n¡Información del libro encontrada correctamente!\n");
Printf("¡Presione "1" para confirmar la devolución del libro!");//Confirmar si se debe devolver el libro.
p>scanf("%d ",& ampf);
if (f==1)
{ strcpy(p-& gt;nombre_prestatario, " 0 ");
strcpy(p->género_prestatario, "0");
p->;número_prestatario = 0;
p->;store++;
Printf("Número de título del libro, número de precio del autor, número de género del prestatario\ n ");
printf(" %-10s %- 10d % -10s %-10.2 f %-10d %-10s %-10s %-10d \n ",p->;Título,p->Número,p->Autor,
p-> ;Precio, p->Tienda, p->Nombre del prestatario, p->Borrower_gender, p->Borrower_number);
//Imprimir información
} p>
Pausa;
}
Else {printf("¡¡Este libro no tiene registros!!" );
Pausa;}
}
Printf("¿Quieres devolver el libro?\ n ");
Printf ( "sí "Por favor, escribe "sí", "No "Por favor presiona cualquier tecla para regresar al menú\ n ");
scanf("%s ", t); // ¿Quieres continuar leyendo?
Guardar(& amps[ 0]); //Llama a la función de guardar
} while(strcmp(t, "yes")== 0); //Determina si continuar devolviendo el libro.
}
Void save(structbook *p)//Guarda el archivo.
{ ARCHIVO *fp, * FP 1;
int I
Si ((FP = fopen ("tushu.txt", "WB") = = null)//Abra el archivo y determine si hay un error
{printf("¡Error al crear el archivo! \ n \ n "); p>getchar( ); return;
}
If ((FP 1 = fopen ("book.txt", "WB"))== null)//Abre el archivar y determinar si hay error.
{printf("¡Error al crear el archivo! \ n \ n "); //Imprimir mensaje de error
getchar(); / p>
for(I = 0;i<m;i++,p++)
If (fwrite (p, sizeof (structbook), 1, FP)== 0)//escribir en el archivo datos y determinar si hay errores.
Printf("¡No se pueden ingresar datos en el archivo! \ n \ n ");
fprintf(fp1, "%d", m
); fclose (FP); //Cerrar el archivo
fclose(FP 1); //Cerrar el archivo
}
Void read(structbook *p) //Desde Módulo que lee información de archivos.
{ ARCHIVO *fp, *FP 1;
int I;
Si ((FP = fopen ("tushu.txt", "Rb") = = null)//Abra el archivo y determine si hay un error
{printf("Error, verifique si el archivo existe, presione cualquier tecla para regresar al menú"); Imprimir mensaje de error
getchar();
}
If ((FP 1 = fopen ("book.txt", "Rb"))== null)//Abra el archivo y determine si hay un error
{printf("¡Error al crear el archivo! \ n \ n "); //Imprimir mensaje de error
getchar(); Retorno;
}
fscanf(fp1, " %d ", & ampm);
fclose(FP 1); el archivo
for(I = 0;i<m;i++,p++)
{ fread(p, sizeof(struct book), 1, FP); file
}
fclose(FP); //Cerrar el archivo
}
Espero que esto ayude.