Existe una necesidad urgente de un sistema de gestión de información bibliotecaria escrito en lenguaje C
(1) Ingrese información básica sobre el nuevo libro.
(2) Consultar información básica sobre libros.
(3) Eliminar información sobre libros que han sido retirados de las estanterías.
(4) Registro de prestatario.
(5) Préstamo de libros (los socios no registrados no pueden prestar libros).
(6) Procedimientos de devolución de libros
Descripción de la información: Describe la información básica del sistema, como: nombre del libro, número de libro, precio unitario, autor, estado de existencia, nombre del prestatario. , género, número de estudiante, etc.
#include "stdio.h"
#includelt;graphics.hgt;
#include "conio.h"
# includelt;stdlib.hgt;
#includelt;string.hgt;
void main()
{void adm1(), adm2(), build( ), huan(), pedir prestado(), eliminar()
adm1()
}
void adm1()
{ ARCHIVO *fp, *p;
char adp[20], contraseña[20];
int i, n=0
fondo de texto( 2);
clrscr();
gotoxy(25, 12);
fp=fopen("pass", "r"); p>
p>
if(fp==NULL) { printf("sin salida "); getch(); salida }
printf("ingrese la contraseña: "
para(;;)
{
ventana(42, 12, 53, 12); ).
clrscr();
obtiene(adp);
for(i=0; adp[i]! ='\0'; i
fgets(contraseña, i 1, fp);
gotoxy(55, 12
if(strcmp(contraseña, adp)==); 0){ ventana( 55, 12, 70, 12); clrscr(); cprintf("SÍ"); getch(); else{ n ;
ventana(55, 12, 60, 12); clrscr(); gotoxy(55, 12); cprintf("error").
for(i =0; ilt; 30; i ) retraso(8000);
if(n==2) { ventana(55, 12, 70, 12); ; cprintf("una vez más"); for (i=0; i lt; =30; i ) retraso (8000);
if (n==3) { ventana (55, 12, 70, 12); clrscr();gotoxy(55,12);cprintf("3 segundos fuera");for(i=0;ilt;=30;i) { retraso(8000);}
salir(0 );
}
}
fclose(fp); >
}
void adm2()
{ char a;
ventana(1, 1, 80, 25); p> clrscr() ;
for(;;)
{ clrscr();
gotoxy(30, 8); printf("construyó un nuevo usuario (B)");
gotoxy(30, 10); printf("devolver libro (R)"); p> gotoxy(30, 12); printf ("pedir prestado libros (J)");
gotoxy(30, 14); printf ("eliminar usuario (D)"); p> a= getch();
if(a=='b') build();
if(a=='r') huan(); p> p>
if(a=='j') pedir prestado();
if(a=='d') eliminar();
si no continuar;
p>
}
}
void build()
{ ARCHIVO *f, *p; >
char id[ 20], nombre[20], sexo[2], edad[3], graduado[50]
ventana(1, 1, 80, 25); p>
clrscr( );
printf("Número de identificación:");
scanf("s", id);
printf( "nombre:");
scanf("s", nombre);
printf("sexo:
scanf("s", sexo);
printf("graduado:");
scanf("s",graduado);
p=fopen(id, "w" );
if(p==NULL) { printf("no se puede crear ese usuario"); getch(); adm2(); s ", nombre);
fprintf(p, "s ", id);
fprintf(p, "s ", sexo);
fprintf (p, "s ", graduado);
printf("éxito exitoso");
getch();
fclose(p); p>
}
void huan()
{
ARCHIVO *fp, *p, *f;
char id[20], a[ 5][50], nombre[20], c;
int i=0, m, k; clrscr(); ingrese el número de ID: ");
scanf("s", id);
p=fopen(id, "r");
if( p==NULL) { printf ("error"); getch(); fclose(p); salida(0);}
fscanf(p, "s", nombre
);fclose(p) ;
fp=fopen( nombre, "r");
hacer{ fscanf(fp, "s", a[i]); mientras(! feof(fp));
for(k=0;klt;i-1;k) imprimir
f("\nlibro d:s",k 1,a[k]);
fclose(fp);
f=fopen(nombre, "w");
for(;;)
{
printf("\n\nPresione el número del libro que desea devolver.\Si desea devolver todo, presione 6. \Presione 7 para cancelar.
\n");
scanf("d",amp; m);
if(m==7) { for(k=0;klt;i-1; k )
{
fprintf(f, "s\n", a[k]);
}
fclose( f);
adm2();
}
si(m==6) eliminar
si( mlt; 6)
for(k=0; klt; i-1.k )
{ if(k!=m-1)
fprintf (f, "s\n", a[k]);
}
printf("el libro d ha regresado.",
); printf("\ncontinuar?(Y/N)"
c=getch()
if(c=='y') continuar
if(c=='n') { fclose(f); adm2() }
}
}
void pedir prestado()<; /p>
{ ARCHIVO *f, *m, *p;
char id[20], libro[5][50], nombre[20], c;
int i=0, n=0, k;
window(1, 1, 80, 25); clrscr();
printf("Ingrese el ID de usuario: ");
scanf("s", id);
m=fopen(id, "r");
if(m==NULL ) { printf("usuario sin salida"); getch(); fclose(m); adm2() }
fscanf(m, "s", nombre); fclose(m);
p=fopen(nombre, "r");
if(p==NULL);
else
{ while(!feof(p))
{
fscanf(p, "s", libro[i]);
}
i--;
for(k=0;klt;i;k) printf("\nlibro d:s",k 1 , libro[k]);
}
fclose(p);
f=fopen(nombre, "w"); p> printf("/n¿cuántos libros quieres pedir prestados?:");
do{printf("/ninput:"); scanf("d",amp;n); (i ngt;=6);
for(k=i;klt;i n;k)
{ printf("/nbook d:",k 1); p> p>
scanf("s",libro[k]);
}
for(k= 0;klt;i n;k) fprintf(f, "s \n",libro[k]);
fputc('\0',f);
printf("
éxito");
fclose(f);
}
voiddle()
{ ARCHIVO *fp, *f;
id de carácter[20], a[4][20], c, b[5][50];
int i=0, j=0, k;
ventana(1, 1, 80, 25);
printf("Ingrese el número de identificación: "); "s", id);
fp=fopen(id, "r");
if(fp==NULL) { printf("\nel usuario no sale" ); getch(); fclose(fp); adm2(); }
más ventana(1, 1, 80, 25); feof(fp))
{ fscanf(fp, "s", a[i] }
printf("\nnombre: s", a[0]);
printf("\nID: s", a[1]);
printf("\nsexo: s", a[2]); > printf("\ngrad: s", a[3]);
f=fopen(a[0], "r"); );
else {
while(!feof (f))
{ fscanf(f, "s", b[j] }
for(k=0;klt;j-1;k) printf("\nlibro d: s",k 1,b[k]);
}
printf("\n¿Quieres eliminar?(Y/N): ");
c=getch();
fclose(fp); p>
p>
fclose(f);
if(c=='y') { eliminar(id); eliminar(a[0]); "); getch( ); adm2(); }
if(c=='n') adm2();
}