c Sistema de biblioteca de diseño de cursos
# incluir ltstdlib.h gt
# incluir ltstring.h gt
# incluir ltconio.h gt
int count;
Libro de estructura
{
Número de carácter[11];
char bname[21]; p> p>
char wname[9];
char pubname[21];
char pub time[7];
Precio flotante;
p>
}Libros[100];
// -
Entrada no válida()
{
int x;
System("cls");
printf(" \ n \ n \ t¡Ingrese la información del libro! La información del libro incluye el número del libro, el título del libro y el autor. , editorial, precio, tiempo de publicación\n\n");
Hacer
{
printf(" \t ISBN: ");
scanf( "s", libros[recuento].num);
printf("\n\ttitle:");
scanf("s", libros [recuento].bname );
printf(" \ n \ t autor: ");
scanf("s ", libros [recuento].
printf ("\n\tPresione:");
scanf("s", libros[recuento].pubname);
printf("\n\tPublicado Fecha:" );
scanf("s ", libros [recuento]. hora de publicación);
printf(" \ n \ t precio: ");
scanf("f", amp books[count].price);
printf("\n\tPresione 0 para finalizar la entrada, presione 1 para continuar:\n");
scanf("d ", ampx);
count;
} while(x);
printf("\n¡Fin de la entrada! \n" );
}
// -
Salida no válida()
{
int j;
System("cls");
printf(" ISBN\ttitle\tCasa de lanzamiento\tTiempo y precio de lanzamiento\n");
para (j = 0; j lt contar; j )
{
printf(" -10s -8s -8s -8s -2.1f \ n ", libros[j]. num , libro[j]. bnombre,libros[j]. wname,libros[j]. nombre de la publicación, libros [j]. hora de pub, libros [j].
precio);
}
getchar();
}
// -
Guardado no válido ( )
{
int j;
ARCHIVO * fp
sistema("cls");
printf("\nPuedes ver la información del libro en books.dat\n");
if((fp=fopen("books.dat", "a")== NULL)
{
Printf("El disco está lleno\ n ");
Salir(0);
}
Fprintf(fp, "Los siguientes datos son: ISBN, título del libro, autor, tiempo de publicación, precio\n");
for(j = 0; j lt count; j )
{
fprintf(fp, " -8s -10s -8s -8s -8.1f \ n ", libros[j].num, libros[j].bname, libros[j].wname , libros[j].books[j].pubtime[j].price);
fclose(FP);
Printf("La información del libro se ha guardado\ n ")
}
// -
void readfile()
{
ARCHIVO * fp p>
char ch
System("cls");
printf("\nVer libros.dat Información del libro \ n "); fp=fopen("books.dat ", " r ");
if(FP == null)printf(" \ n¡No se encontró el archivo!\n ");
Otros
mientras ((ch=fgetc(fp))!=EOF)
putchar(ch);
fclose(FP);
}
// -
void add()
{ p>
int x;
System("cls");
printf(" \ n \ n \ t¡Agregue información del libro! La información del libro incluye número de libro, título del libro, autor, editorial, precio, hora de publicación\ n \ n");
mientras(x)
{
printf(" \ t ISBN: " );
scanf("s", libros [contar]. num);
printf(" \ n \ t título: ");
scanf("s ", libros [recuento]. bname); printf("\n\tautor:");
scanf("s", libros[recuento].wname);
printf("\n\tPresione:" );
scanf("s", libros[recuento].pubname);
printf("\n\tFecha de publicación:");
scanf(" s", libros[recuento].tiempo de publicación);
printf("\n\t precio:");
scanf("f", ampbooks[recuento].
precio);
printf("\n\tPresione 0 para completar la adición, presione 1 para continuar:\n");
scanf("d", ampx); p >
cuenta;
}
printf("\n¡Agregar final!\n");
}
/ / -
void num_del();
void bname_del();
void wname_del();
void pubname _ del( );
anular hora de publicación _ del();
anular precio _ del();
anular del() p>
{ char a;
getchar();
hacer
{
system("cls"); >Printf("\n\t1: Eliminar por ISBN");
Printf("\t2: Eliminar por título\n ");
Printf("\t3: Eliminado por autor del libro");
Printf("\t4: Eliminado por el editor del libro\n ");
Printf("\t5: Eliminado por el editor del libro Hora de publicación del libro eliminar" );
Printf("\t6: Eliminar por precio del libro\n ");
Printf("\t0: Salir de eliminación\n ");
Haga {
printf("\n\tPor favor seleccione la opción de entrada 1\\2\3\\4\5\\6\0:_");
a = getchar(); getchar();
} Y (a! = ' 1 ' amp; amprespuesta! = ' 2 ' ampampanswer! = ' 3 ' ampampanswer ! = ' 4 ' ampampanswer! = ' 5 ' amp ampanswer! = ' 6 ' amp ampanswer! ='0');
Cambio (a) // Determina el número ingresado.
{
case "1": num_del(); break; // Si es 1, elimínelo según el número de libro.
Case "2": bname_del(); Break; // Si es 2, se realizará la eliminación por autor del libro.
Caso "3": wname_del(); roto; //Si es 3, eliminar por título del libro.
Caso "4": pubname_del(); roto; //Si es 4, el editor del libro lo eliminará.
Caso "5": pub time_del(); break; //Si es 5, elimínelo según la hora de publicación del libro.
Caso "6": price_del(); break; //Si es 6, elimínelo según el precio del libro.
Caso "0": system ("cls"); //0 regresa a la interfaz de inicio de sesión.
}
printf(" \ n \ tPresione cualquier tecla para regresar al menú principal: _ ");
getchar()
;System("cls");
} while(0);
}
/*Eliminar por ISBN*/
void num_del()
{
int k, n;
Número de carácter [11];
Printf("Por favor ingrese el ISBN eliminado: \ n ");
gets(num);
for(k = 0; k lt100; k )
{if( strcmp (libros[k]).number,number)==0)
{ for(n = k; n lt99; n )
Libros. número,libros[n 1]. num);
Libros. hora de pub, libros[n 1]. hora de pub);
Libros. precio = libros[n 1]. Precio;
Libros. bnombre,libros[n 1]. bname);
Libros. wname,libros[n 1]. wname);
Libros. nombre de la publicación, libros [n 1]. pubname);
}count-;k-;};}
Printf("No existe tal libro.\n");
getchar() ;
}
/*Eliminar por título del libro*/
void bname_del()
{
int k, n;
char bname[21];
Printf("Ingrese el título del libro que desea eliminar: \ n "); gets( bname);
for(k = 0; k lt100; k )
{if(strcmp(libros[k]).bname, bname)==0)
{ for(n = k; n lt99; n )
Libros. número,libros[n 1]. num);
Libros. hora de pub, libros[n 1]. hora de pub);
Libros. precio = libros[n 1]. Precio;
Libros. bnombre,libros[n 1]. bname);
Libros. nombre,libros[n 1]. wname);
Libros. nombre de la publicación, libros [n 1]. pubname);
}count-;k-;};}
Printf("No existe tal libro.\n");
getchar() ;
}
/*Eliminado por el autor del libro*/
void wname_del()
{
int k, n;
char wname[9];
Printf("Ingrese el autor del libro que desea eliminar: \ n "); > obtiene(wname);
for(k = 0;k lt100;k)
{if(strcmp(libros[k]).wname,wname)==0)
{ for(n = k; n lt99; n )
Libros. número,libros[n 1]. num);
Libros.
hora de pub, libros[n 1]. hora de pub);
Libros. precio = libros[n 1]. Precio;
Libros. bnombre,libros[n 1]. bname);
Libros. nombre,libros[n 1]. wname);
Libros. nombre de la publicación, libros [n 1]. pubname);
}count-;k-;}}
Printf("No existe tal libro.\n ");
getchar(); /p>
}
/*Eliminado por el editor del libro*/
void pubname_del()
{
int k , n;
char pubname[21];
Printf("Ingrese el editor del libro que desea eliminar: \ n "); pubname);
for(k = 0;k lt100;k)
{if(strcmp(libros[k]).pubname,pubname)==0)
{ for(n = k; n lt99; n )
Libros. número,libros[n 1]. num);
Libros. hora de pub, libros[n 1]. hora de pub);
Libros. precio = libros[n 1]. Precio;
Libros. bnombre,libros[n 1]. bname);
Libros. nombre,libros[n 1]. wname);
Libros. nombre de la publicación, libros [n 1]. pubname);
}count-;k-;};}
Printf("No existe tal libro.\n");
getchar() ;
}
/*Eliminar por hora de publicación del libro*/
void pubtime_del()
{
int k, n;
char pub time[7];
Printf("Ingrese la hora de publicación del libro que desea eliminar: \ n "); >
obtiene(hora de publicación);
for(k = 0; k lt100; k )
{if(strcpy(libros[k]).hora de publicación,hora de publicación) = =0)
{ for(n = k; n lt99; n )
Libros. número,libros[n 1]. num);
Libros. hora de pub, libros[n 1]. hora de pub);
Libros. precio = libros[n 1]. Precio;
Libros. bnombre,libros[n 1]. bname);
Libros. nombre,libros[n 1]. wname);
Libros. nombre de la publicación, libros [n 1]. pubname);
}Count-;k-;};}
Printf("No existe tal libro.
\n ");
getchar();
}
/*Eliminar por precio del libro*/
void price_del()
{
int k, n;
Flotante m;
Printf("Ingrese el precio del libro: \ n ") ;
scanf("f ", ampm);
for(k = 0;k lt100;k)
{if (libro[k]. precio ==m)
{ for(n = k; n lt99; n )
Núm de libros, libros[n 1];
libros.pubtime , libros[n 1];
libros.precio=libros[n 1]. 1].
libros. pubname, libros[n 1].
}count-;k-;};}
Printf("No existe tal libro .\n");
getchar();
}
// -
void num _ revisar();
void bname _ revisar();
void wname _ revisar() ;
void pubname _ revisar()
void pub tiempo _ revisar();
precio nulo _ revisar()
InvalidRevision()
{
char c; p>
getchar();
Hacer
{
System("cls");
Printf("\ n\t1: Cambiar número de libro");
Printf("\t\t2: Modificar título de libro\ n ");
Printf("\t3: Modificar autor de libro" );
Printf("\t\t4: Modificar editorial del libro\ n ");
Printf("\t5: Modificar hora de publicación del libro");
Printf("\t6: Modificar precio del libro\ n ");
Printf( "\t0: Salir de modificación\n ");
Hacer {
printf(" \n \tSeleccione la opción de entrada 1 \ \ 2 \ 3 \ \ 4 \ 5 \ \ 6 \ 0: _ ");
c = getchar();
}mientras(c! = ' 1 'amp;ampc! = ' 2 ' amp ampc! = ' 3 ' amp ampc! = '4' amperios ampc! = '5' amperios ampc! = '6' amperios ampc! ='0');
Switch (c) //Juzga el número ingresado.
{
Caso "1": num _ revisar(); saltos
Caso "2": bname _ revisar(); p>
p>
Caso "3": wname _ revisar();
Caso "4": pubname _ revisar (); Caso "5": hora de publicación _ revisar(); ruptura
Caso "6": precio _ revisar()
Caso "0": sistema("cls "); rompiendo ;
}
printf(" \ n \ tPresione cualquier tecla para regresar al menú principal: _ ");
getchar() ;
system("cls");
} while(0);
}
/*Modificado por ISBN*/
Número_revisión no válido()
{
int n;
Número de carácter [11];
Printf ("Por favor, introduzca el número de líneas del libro que desea modificar:\n ");
scanf("d ", ampn);
Printf("Por favor, introduzca el número de libro que desea cambiar:\n ");
scanf("s ", número);
strcpy(libro[n-1]). num, num);
getchar();
}
/*Modificación del autor*/
void wname_revise() p>
{
int n;
char wname[9];
Printf("Ingrese el número de líneas del libro que desea para modificar: \ n ");
scanf("d ", ampn);
Printf("Ingrese el autor del libro que desea cambiar: \ n ") ;
scanf("s",wname);
strcpy(libro[n-1]). wname, wname);
getchar();
}
/*Revisar por título*/
void bname_revise()
{
int n;
char bname[21];
Printf("Ingrese el número de libros que desea modificar :\ n ");
scanf("d ", ampn);
Printf("Ingrese el título del libro que desea modificar:\ n "); p>
scanf("s", bname);
strcpy(libro[n-1]). bname, bname);
getchar();
}
/*Basado en el precio del libro*/
Revisión_precio no válida()
{
int n;
Precio flotante;
Printf("Ingrese el número de libros que desea modificar:\ n ");
scanf("d ", ampn);
Printf("Ingrese el precio del libro que desea cambiar:\ n ");
scanf("f ", precio amp);
Libros[n-1].
Precio = precio;
getchar();
}
/*Revisión del editor del libro*/
void pubname_revise()
p>{
int n;
char pubname[21];
Printf("Ingrese el número de libros que desea modificar: \ n ");
scanf("d ", ampn);
Printf("Ingrese la editorial del libro que desea cambiar:\ n ");
scanf("s ",pubname);
strcpy(libro[n-1]). pubname, pubname);
getchar();
}
/*Basado en la hora de publicación del libro*/
void pubtime_revise( )
{
int n;
char pub time[7];
Printf("Ingrese la versión línea a modificar Número: \ n ");
scanf("d ", ampn);
Printf("Ingrese la fecha de publicación del libro que desea cambiar: \ n ");
scanf("s ",hora de publicación);
strcpy(libro[n-1]). hora de publicación, hora de publicación);
getchar();
}
// -
void num _ search();
void bname _ search();
void wname _ search();
void pubname _ search()
void pub time_search();
void price_search();
void search()
{
char a;
getchar();
Hacer
{
System("cls");
Printf(" \n\t1 : Buscar por ISBN");
Printf("\t2: Buscar por título del libro\n ");
Printf("\t3: Buscar por autor del libro ");
Printf("\t4: Consulta por editorial del libro\ n ");
Printf("\t5: Consulta por hora de publicación del libro");
Printf ("\t6: Consulta por precio del libro\n ");
Printf("\t0: Salir de la consulta\n ");
Hacer {
printf("\n\tPor favor seleccione la opción de entrada 1\\2\3\\4\5\\6\0:_");
a = getchar(); p>
}Y (a!= ' 1 ' amp; ampanswer!= ' 2 ' amp ampanswer!= ' 3 ' amp ampanswer!= ' 4 ' amp ampanswer!= ' 5 ' amp amprespuesta! = ' 6 ' amp amp respuesta! ='0');
Switch (a) //Determina el número ingresado.
{
Caso "1": num_search(); roto; //Si es 1, ejecuta la consulta por número de libro.
Caso "2": bname_search(); Break; //Si es 2, ejecuta la consulta por autor del libro.
Caso "3": wname_search(); roto; //Si es 3, realiza la consulta por título del libro.
Caso "4": pubname_search(); roto; //Si es 4, ejecuta la consulta del editor del libro.
Caso "5": pub time_search(); Break; // Si es 5, realiza la consulta por hora de publicación del libro.
Caso "6": price_search(); Break; //Si es 6, realiza la consulta por precio del libro.
Caso "0": system ("cls"); //0 regresa a la interfaz de inicio de sesión.
}
printf(" \ n \ tPresione cualquier tecla para regresar al menú principal: _ ");
getchar()
;System("cls");
} while(0);
}
/*Consulta por ISBN*/
void number_search()
{
Número de carácter[11];
int n;
Sistema("cls") ;
printf(" \ n \ n \ n \ tIngrese el número del libro que desea consultar: _ ";
gets(num);
for (n = 0; n lt count; n )
{
Printf("ISBN, título del libro, autor, fecha de publicación y precio\ n ");
if(strcmp(num,libros[n]).num)==0)
{
printf(" -8s -10s -8s -8s -8.1f \n ",libros[n].num,libros[n].bname,libros[n].wname,libros[n].pubname,libros[n].Tiempo público, libros.Precio);
}
else printf(" \ n \ t¡No se puede encontrar el libro que estás buscando! \ n "); p>
/*Consulta por autor*/
void wname_search()
{
char wname[9];
int n;
System("cls");
printf("\n\n\n\tIngrese el autor del libro que desea consultar:_";
gets(wname); //Ingrese el número del libro a consultar
Printf("Número del libro, título del libro, autor, hora de publicación y precio\ n "); p>
for(n = 0; n lt count; n )
{
if(strcmp(wname, libros[n]).wname)==0) p>
{
printf(" -8s -10s -8s -8s -8.1f \ n ",libros[n].num,libros[n].bnombre,libros[n ]. wname, libros[n]. pubname, libros[n].
Precio);
}
else printf(" \ n \ t¡No se puede encontrar el libro que buscas! \ n "); p>
}
/*Consulta por título*/
void bname_search()
{
char bname[21 ];
int n;
System ("cls");
printf(" \ n \ n \ n \ tIngrese la información que desea query Título del libro:_ ");
gets(bname); //Ingrese el número del libro a consultar.
Printf("ISBN, título del libro, autor, fecha de publicación y precio\ n "
for(n = 0; n lt count; n )
{
if(strcmp(bname,libros[n]).bname)==0)
{
printf(" -8s - 10s -8s -8s -8.1f \n ",libros[n].num,libros[n].bname,libros[n].wname,libros[n].pubname,libros[n].Tiempo público,libros. Precio
}
else printf(" \ n \ t¡No se puede encontrar el libro que estás buscando! \ n "); >
}
/*Consulta por precio del libro*/
Invalid price_search()
{
int n;
Precio flotante;
FILE * fp
System("cls");
printf(" \ n \ n \n \ tIngrese el precio del libro que desea consultar:_ ";
scanf("f ", amp precio); //Ingrese el precio del libro que desea consultar.
fp=fopen("books.dat", "a"); //Leer el archivo
Printf("número de libro, título del libro, autor, hora de publicación y precio\n");
for(n = 0; n lt count; n )
{
if(precio==libros[n]. Precio)
{
printf(" -8s -10s -8s -8s -8.1f \ n ",libros[n].num,libros[n].bname,libros[n].wname,libros [n] ]. pubname, libros[n]. tiempo público, libros.
Precio);
}
elseprintf(" \ n \ n \ t¡No se puede encontrar el libro que estás buscando! \ n ");
}
getchar();
fclose(FP);
}
/*según editorial de libros*/
void pubname_search()
{
char pubname[21];
int n;
system("cls" ) ;
printf(" \ n \ n \ n \ tIngrese la editorial del libro que desea consultar: _ ";
Obtener (pubname);
Printf("ISBN, título del libro, autor, fecha de publicación y precio\ n ");
for(n = 0; n lt count; n )
{ p >
if(strcmp(pubname,books[n]).pubname)==0)
{
printf(" -8s -10s -8s -8s - 8.1 f \n ",libros[n].num,libros[n].bname,libros[n].wname,libros[n].pubname,libros[n].Tiempo público, libros.precio);
}
else printf(" \ n \ t¡No se puede encontrar el libro que estás buscando! \ n "); /p>
/*Consulta por hora de publicación del libro*/
void pubtime_search()
{
char pub time[7];< / p>
int n;
System("cls");
printf(" \ n \ n \ n \ tIngrese el número de publicación del libro que desea hora de consulta:_ ";
obtiene(hora de publicación);
Printf("ISBN, título del libro, autor, hora de publicación y precio\n ");
for(n = 0; n lt count; n )
{
if(strcmp(pubtime,books[n]).Tiempo de publicación)==0) p>
{
printf(" -8s -10s -8s -8s -8.1f \ n ",libros[n].num,libros[n].bnombre,libros[n]. wname, libros[n]. pubname, libros[n]. Horarios públicos, libros.
Precio);
}
elseprintf(" \ n \ n \ t¡No se puede encontrar el libro que estás buscando! \ n ");
}
}
// -
void main()
{
char c;
printf(" \ n \ n \ n \ n \ n \ t * * * * * * * * * Bienvenido al sistema de gestión de bibliotecas * * * * * * * * * * \ n \ n \ n " ) ;
printf("\t\t\tproducer Junio 2009\n\n");
printf("\t\t\tPresione Enter para ingresar al menú principal: ");
getchar();
Hacer
{
system("cls");
printf(" \ n \ t \ t \ t * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");
Printf("\n\t\t\t\tMenú principal\ n ");
printf(" \ n \ t \ t \ t * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");
Printf("\t\t 1: Ingrese la información del libro");
Printf (" \t\t2: Agregar información del libro\ n ");
Printf("\t\t3: Eliminar información del libro");
Printf("\t\ t4: Modificar información del libro\ n ");
Printf("\t\t 5: Buscar información del libro");
Printf("\t\t6: Cambiar la información del libro Guardar en archivo \n ");
Printf("\t\t7: Información del libro de salida");
Printf("\t\t8: Información del archivo del libro de salida \ n ");
Printf("\t\t 0: Salir del sistema\ n ");
Hacer {
printf(" \ n \t\tPor favor seleccione la opción de entrada 1\\2\3\\4\5\\6\\7\8\0:_");
c = getchar(); getchar() ;
}mientras(c! = ' 1 'amp;ampc! = ' 2 ' amp ampc! = ' 3 ' amp ampc! = '4' amperios ampc! = '5' amperios ampc! = '6' amperios ampc! = '7' amperios ampc! = '8' amperios ampc! ='0');
Interruptor (c)
{
caso "1": entrada();
Caso "2": agregar();
Caso "3": del(); Caso "4": revisar(); >
Caso "5": buscar(); romper
Caso "6": guardar();
Caso "7": salida(); ;
Caso "8": readfile(); roto;
Case "0": system ("cls"); exit (0);
}
printf(" \nPresione cualquier tecla para regresar al menú principal: _ " );
getchar();
System("cls");
} while(1);
}< / p>
Esto lo escribí yo. Es un poco largo, pero debería ser comprensible. Lo revisé en línea cuando estaba programando, pero no pude entenderlo. ¡Afortunadamente, insistí en inventarlo yo mismo y terminé inventándolo!