Código fuente del sistema de gestión de bibliotecas de programación
#includelt;math.hgt;
#includelt;stdlib.hgt;
#includelt;string.hgt;
# define N 100 // el número máximo de libros
struct book
{ char title[30];
{ char title [30];
El número máximo de libros
{ p=amp; s[0]
printf("\t Elija la búsqueda método :\n");//imprime el menú de métodos de búsqueda
printf(" 1.búsqueda por título \n 2. búsqueda por autor \n 0.return \n");
printf("Elija entre 0-2: \n\n");
scanf("d", amp; n //leer método de búsqueda
if(n==0) break;
switch(n)
{ caso 1: printf("Ingrese el nombre del libro: \n"); " , nombre1); .break;
caso 2: printf ("Ingrese el autor:\n"); scanf ("s", nombre2); break;
}
for(;plt;amp;s[m];p )
{ read(amp;s[0]);//llamar a la función de lectura
if(strcmp(p-gt;title,name1)==0||strcmp(p-gt;author,name2)==0)
{ printf("\n Encontrando información del libro exitosamente ! \n");
printf("Libro Título Número Autor Precio Cantidad\n");
printf("-10s-10d-10s-10.2f-10d\n " , p-gt; título, p-gt; número, p-gt; autor, p-gt; precio, p-gt; tienda); //imprime la información
descanso;
}
}
}
printf("¿Continúas la búsqueda?\Sí", ingresa "Sí", "No", por favor presione Cualquier tecla para regresar al menú/n");
Scan f("s", c);
} while(strcmp(c, "yes")==0); // Determinar si finalizar
}
void del(structbook *p)//Eliminar módulo
{ int i;
struct book *p1,*p
2;
nombre de char1[20];
nombre de char2[20]; ;
do
{ p=amp;s[0];
printf("Elija la forma de eliminar hasta el final de la tecla Enter: \n"); //imprime la forma de eliminar Menú
printf( " 1. Eliminar por título\n 2. Eliminar por autor\n 0. Volver \n ");
printf("Seleccione entre 0-2: \n\n");
scanf("d", amp; n); //leer grupo de búsqueda//
if(n==0) break;
switch(n)
{caso 1: printf("Ingrese el título del libro:\n"); p> scanf("s", nombre1); break;
caso 2: printf("Ingrese autor:\n"); ; romper;
scanf("s" , nombre2);
}
leer(amp; s[0]); función de lectura
for(i=0;ilt;m;i,p)
{
if(strcmp(p-gt;title,name1) ===0||strcmp(p-gt;autor,nombre2)==0)
{ p1=p;
for(p2=p1 1;p2lt;=amp ; s[m]; p1, p2 )
{
strcpy(p1-gt; título, p2-gt; título); -gt;autor,p2-gt;autor);
p1-gt;número=p2-gt;número;
p1-gt;store=p2-gt;store;
p1 -gt; precio=p2-gt;
m--;
printf("¡Eliminación exitosa! \n");
}
}
else {printf("¡¡¡No hay ningún registro de este libro!!!") )
break;}
}
printf("¿Desea continuar eliminando? Sí", escriba "sí", "no", presione cualquier tecla para regresar al menu (n ");
scanf("s",c); //leer si continuar
save(amp;s[0]); //llamar a guardar función p>
} while(strcmp(c, "yes")==0);
}
>
void préstamo(structbook *p)//módulo de préstamo
{ int z;
char nombre3[20], nombre4[20];
char w[3];
do
{ p=amp; s[0];
printf("Busque el libro que desea pedir prestado primero! ");
printf("Elija el método de búsqueda: \n"); //imprima el menú del método de búsqueda
printf(" 1. búsqueda por título \ n 2. búsqueda por autor \n 0.return \n");
printf("Seleccione entre 0-2: \n");
scanf("d" , amp; z amp; z); //leer método de búsqueda
if(z==0) break;
switch(z)
{ caso 1 : printf("Ingrese el nombre del libro:\n"); scanf("s", nombre3;
caso 2: printf("Ingrese el autor:\n"); "s", nombre4);
}
read(amp; s[0]); //llamar a la función de lectura
for(; plt ;amp;s[m];p )
{ if(strcmp(p-gt.title,name3)==0||strcmp(p-gt;author,name4)==0)
{
printf("\n ¡Encontrando información del libro exitosamente!\n");
printf("Título del libro Número Autor Precio Cantidad\n");
printf("-10s-10d-10s-10.2fs-10d\n", p-gt; título, p-gt; número,
p-gt; autor, p-gt; precio, p-gt; tienda); //imprimir información
printf("Ingrese su nombre: "); scanf("s", p-gt; nombre_prestatario); p>
printf("Ingrese su género: "); scanf("s", p-gt.borrower_gender);
printf("Ingrese su número de estudiante: "); "d",&p-gt;borrower_number);
p-gt;store--;
printf("¡Libro prestado correctamente! \n");
printf("Título del libro No.
Autor Precio Cantidad Prestatario Género Académico No.\n");
printf("-10s-10d-10s-10.2f-10d-10s-10s-10d\n",p-gt;title, p-gt;número,p-gt;autor,
p-gt;precio,p-gt;tienda,p-gt;nombre_prestatario,p-gt;género_prestatario,p-gt;número_prestatario);
break;
}
}
printf("Continuar tomando prestado el libro o no"); printf("Sí" para "sí", "No" Presione cualquier tecla para regresar al menú \n");
scanf("s", w); //leer si desea continuar
save(amp;s[0]); //llama a la función de guardar
} while(strcmp(w, "yes")==0); continuar tomando prestados libros
}
void retur(structbook *p)//return module
{ int e, f
char; nombre5[20];
char nombre6[20];
char t[3];
hacer
{ p=amp ; s[0];
printf("¡Primero busque la imagen que desea devolver!")
printf("Elija la forma de encontrarla: \n" ); //Imprimir el menú del método de búsqueda
printf(" 1. Buscar \n por título 2. Buscar \n por autor 0. Volver
printf( " Elija entre 0 y 2: \n\n");
scanf("d", amp; e //Leer método de búsqueda
if(e==); 0) break;
switch(e)
{ caso 1: printf("Ingrese el nombre del libro:\n"); ;
caso 2: printf("Ingrese el autor:\n"); scanf("s", nombre6
}
leer; (amp;s[0]);//llamar a la función de lectura
for(;plt;amp;s[m];p)
{ if(strcmp(p-gt .título, nombre5)==0||strcmp(p-gt; autor, nombre6)==0)
{ printf("\n Buscando información del libro
o con éxito! \n");
printf("Para confirmar la devolución del libro, presione "1"!"); //Confirme si desea devolver el libro
scanf ("d",&f);
if(f==1)
{ strcpy(p-gt;nombre_prestatario, "0");
strcpy(p-gt;prestatario_gender, "0");
p-gt;prestatario_número=0;
p-gt;store
printf( "Nombre del libro No. Autor Precio Cantidad Prestatario Género Número académico\n"
printf("-10s-10s-10d-10s-10.2f- 10d-10s-10s-10d\n ", p-gt;título,p-gt;número,p-gt;autor,
p-gt;precio,p-gt;tienda,p-gt;nombre_prestatario,p-gt;género_prestatario, p-gt;número_prestatario);
}
descanso
} p>
else {printf("¡¡No hay registro de este libro!!") )
break;}
}
printf(" ¿Tienes ¿Continuar devolviendo el libro?\n");
printf(""Sí", escriba "sí", "No", presione cualquier tecla para regresar al menú \n");
scanf("s", t); //leer si se debe continuar
save(amp; s[0]); //llamar a la función de guardar
} while(strcmp(t, "yes")==0); //determina si continuar devolviendo el libro
}