#Incluir "string.h"
#Incluir "stdlib.h"
#define N 100 /*Convertir el la capacidad total de libros se define como 100*/
int Count = 0 /*Definir una variable global para representar el número de libros*/
Libro de estructura /*Definir el tipo de estructura */
{
int num/*El número de serie es un número entero*/
char name[40] /*El título del libro es una cadena; */
char autor[20];/*El autor es una cadena*/
char publicar[50];/*El editor es una cadena*/
Precio flotante;/*Precio Es un punto flotante*/
};
Estructura book list[N];/*Definir una variable de tipo struct book list N*/
void show_bookinformation( Lista estructurada de libros[]);/*Declaración de la función de exploración de información del libro*/
void check_bookinformation(Lista estructurada de libros[]);/*Declaración de información del libro función de consulta*/
void modificar_bookinformation(lista de libros de estructura[]);/*Declarar función de modificación de información de libros*/
void delete_bookinformation(lista de libros de estructura[]);/*Declarar Función de eliminación de información de libros*/
void reorder_bookinformation(lista de libros estructurados[]);/*declaración de la función de clasificación de información de libros*/
void buytotal(lista de libros estructurados[]);/ *función de declaración de información de compra de libros*/
void read();/*Declaración de función de lectura de datos*/
void input();/*Declaración de función de entrada de información de libros */
void open(); /*Función de apertura de información de datos de declaración*/
/*Función principal*/
void main()
{
int elección 1;
printf(" * ~ ~ ~ ~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ * \ n ");
Printf(" *Bienvenido al sistema de gestión de ventas de libros* \ n ") ;
printf(" * ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ * \n ");
Hacer
{
printf(" ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # "); /*Mostrar menú*/
Printf(" Opciones de función:\ n ");
Printf(" 1 :Entrada de información del libro\ n ");
Printf(" 2: Exploración de información del libro\ n "); p>
Printf(" 3: Consulta de información del libro\ n ");
Printf(" 4: Información del libro modificada\ n ");
Printf(" 5: Información del libro eliminada\ n ");
Printf(" 6: Clasificación de la información del libro\n ");
Printf(" 7: Compra del libro\
n ");
Printf(" 0: Salir del sistema\ n ");
printf(" ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ");
printf(" \tSeleccione una operación: ");
scanf("%d ", & ampchoice 1);
Cambiar (opción 1) /*Elección de menú*/
{
Caso 1:
entrada();
Pausa;
Caso 2:
mostrar_información del libro(lista);
Pausa;
Caso 3:
check_bookinformation(lista);
Pausa;
Caso 4:
modificar_información_libro(lista);
Interrupción;
Caso 5:
eliminar_información_libro(lista);
Interrupción;
Caso 6:
reorder_book information(list);
Pausa;
Caso 7:
buytotal(list) )
Romper;
Caso 0:
Romper
}
}mientras (elección1! = 0);
Printf("¡Gracias! ¡Bienvenido a usarlo la próxima vez!\n ");
}
/*Función de abrir archivo*/ p>
Apertura no válida()
{
int I;
ARCHIVO * fp
if((fp =fopen ("book.txt", "Rb")== NULL)
{
Printf("¡¡No se puede operar, no hay información del archivo!!!\n");
Salir(0);
}
for(I = 0;i<n;i++)
{
if(fread(& list[i], sizeof(structure book), 1, fp)==0)
{
Printf("¡¡Error en la salida de datos!! ! \n ");
Salir(0);
}
}
fclose(FP);
}
/*Función de archivo de entrada*/
Lectura no válida()
{
int I;
p>ARCHIVO * fp
if((fp=fopen("book.txt "," wr"))==NULL)
{
printf("\n¡No se puede abrir el archivo! ! ! \n ");
Salir(0);
}
for(I = 0;i<n;i++)
si (fwrite(& list[i], sizeof(estructura libro), 1, fp)!=1)
Printf("¡¡¡Error al escribir el archivo!!!\n");
fclose(FP);
}
/*Función de entrada*/
Entrada no válida ()
{
int i,k,j,t;
for(j = 0; lista[j].
número! =0;j++)
t = j+1;
for(I = 0;i<n;i++)
{
printf("\tIngrese el número de serie de su libro:");
scanf("\t%d ", & list[i].num);
printf("\ tIngrese el título:");
scanf("\t%s ", list[i]. Nombre);
printf(" \tIngrese el autor: ") ;
scanf("\t%s ", list[i]. Autor);
printf("\tIngrese el editor:"); >scanf("\t%s ", list[i]. Lanzamiento);
printf(" \tIngrese el precio:
scanf("\t%); f ",& list[i].price);
fflush(stdin);
printf("\t\n¿Quieres seguir escribiendo? ( 1. Sí 2. No)");
scanf("%d ", & ampk);
if(k==2) roto;
}
cuenta = I+1;
leer();
}
/*Eliminar función*/
void delete_bookinformation(lista de libros de estructura[])
{
int j, k, d, I = 0
open(); p>Printf("Ingrese el número de serie del libro que desea eliminar: \ n ");
scanf("%d ", & ampd
for(j); = 0; lista[j].num!=0;j++)
{
if(lista[j].num==d)
{
for(k = j; lista[k].num!=0;k++)
lista[k]= lista[k+1];
i++;
}
}
If (i==0)
Printf("El libro que ingresaste El número de serie no está disponible en el sistema de venta de libros, vuelva a seleccionarlo \n ");
Otro
Count = Count-1;
read( );
Printf("Eliminación exitosa\n ");
}
/*Modificar función*/
void modificar_libroinformación( lista de libros de estructura[])
{
int j, k=0, número
open();
printf (" \tIngrese el número de serie del libro que desea modificar:");
scanf("%d", & number);
for(j = 0; list[ j]. número! =0;j++)
if (list[j].num = = número)
{
printf(" \ n \ tIngrese su libro revisado información!\ n \ n ");
printf(" \ tIngrese el número de serie del libro que desea modificar: ");
scanf("%d ", & list[j].num);
printf("\tPor favor, ingrese su título modificado:");
scanf("%s", list[ j]. Nombre) ;
printf("\tPor favor ingrese el nombre del autor modificado:");
scanf("%s ", list [j].
Autor);
printf("\tIngrese el editor de su revisión:");
scanf("%s ", Lista[j]. Lanzamiento);
p>
printf("\tIngrese el precio del libro revisado:");
scanf("%f ", & list[j]. Precio);
read();
printf("\n¡Modificación exitosa!\n");
k++;
}
If (k==0)
printf(" \ n \ n \ t¡¡No se puede encontrar el libro a modificar!!");
}
/ *Función de salida*/
void show_bookinformation(lista de libros de estructura[])
{
int I;
open() ;
printf(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Printf("Número de serie del libro\tNombre del libro\t\tNombre del autor\t\tEmpresa editorial\t\tPrecio del libro\n");
for(I = 0; lista[i].num!=0;i++)
{
printf(" % d \ t \ t % s \ t % s \ t \ t % s \ t % 6.2f \ n ",lista[i].num,lista[i].nombre,lista[i].autor,lista[i].publicado, Lista[i] ]. Precio);
}
}
/*Función de consulta*/
anular verificación _ información del libro (estructura lista de libros[]. ])/*Consultar información del libro*/
{
int j, I, t, k = 0
char c[20] , d[ 20];
Printf("Ingrese el método de consulta:\n 1. Buscar por título 2. Buscar por autor:\n");
scanf("% d " ,&t);
If (t==1)
{
open();
Printf(" Introduzca el título del libro que desea consultar:\ n ");
scanf("%s ",c);
Printf ("\ n * * * * * * * * * * * * * * *La información del libro que deseas consultar (según el nombre del autor)* * * * * * * * * * * * * * * * \ n ");
Printf("Número de serie del libro\tNombre del libro\t\tNombre del autor\t\tEmpresa editorial\t\tPrecio del libro\n");
for(j = 0; list[j]. número! =0;j++)
if(strcmp(c,list[j]).name)==0)
{
printf(" % d \t \t % s \t % s \t \t % s \t % 6.2f \n ",lista[j].num,lista[j].nombre,lista[j].autor,lista[j] . Lanzamiento, lista[j].
precio);
k++;
}
If (k==0)
printf("\nLo que desea consultar); ¡La información del libro no existe! \n ");
}
if (t==2)
open ();
Printf("Ingrese el nombre del autor a consultar: \ n ");
scanf("%s ", d
Printf("Número de serie del libro); \tNombre del libro\t\tNombre del autor\t\tEmpresa editorial\t\tPrecio del libro\n");
for(I = 0; Lista[i] .num!=0;i++) p>
if(strcmp(d,list[i]).autor)==0)
{
printf( " % d \ t \ t % s \ t \ t % s \ t % 6.2f \ n ", lista[i]. nombre, lista[i]. [i].Publicar, lista[i].precio);
k++;
}
If (k==0)
printf("\n¡¡¡La información del libro que desea consultar no existe!!!\n ");
}
}
/*Función de clasificación */
void reorder_bookinformation(estructura lista de libros[])
{
int i, j, a, k;
Libro de estructura t;
ARCHIVO * fp
Temperatura de carga[ 40];
open();
printf("\nSeleccione el método de clasificación\n 1-Título del libro (en orden alfabético)\N2-Precio (de mayor a menor) \n");
scanf("%d",&a);
Interruptor (a)
{
Caso 1 :
for(I = 0;i<count-1;i++)
{ k = I
for(j = I+1; j & ltcount ; j++)
if(strcmp(lista[k]). nombre , lista[j]. nombre)>0)k = j;
if (k!=i)
{ strcpy(temp, lista[i]). nombre);
strcpy(lista[i]). nombre, lista[k]. nombre);
strcpy(lista[k]). Nombre, temporal);
}
}
if((fp=fopen("book.txt", "w")= = NULL)
{
printf("¡No se puede abrir el archivo! \ n "
Salir
}
);Printf("La nueva secuencia es:\ n ");
Printf("Número de serie del libro\tNombre del libro\t\tNombre del autor\t\tEmpresa editorial\t\tPrecio del libro\n " );
for(j = 0; j & lt count; j++)
{
printf(" % d \ t \ t % s \ t % s \ t \ t % s \ t % 6.2f \ n ",lista[j].num,lista[j].nombre,lista[j].autor,lista[j].publicado, Lista[j]. Precio);
}
leer();
Romper;
Caso 2:
for( k = 0; lista[k].
número! =0;k++)
for(j = 0;lista[j].num!=0;j++)
if(lista[j].precio<lista[j +1] Precio)
{ t = lista[j]; lista[j]= lista[j+1]; lista[j+1]= t;}
Printf(" Número de serie del libro\tNombre del libro\t\tNombre del autor\t\tEmpresa editorial\t\tPrecio del libro\n");
for(j = 0; Lista[j] . num! =0;j++ )
{
printf(" % d \ t \ t % s \ t % s \ t \ t % s \ t % 6.2f \ n ", lista[j] num, lista[j]. Nombre, lista[j]. Autor, lista[j], precio);
k++;
p>. }
read();
Romper;
}
}
/ *Lista de compra de libros* /
void buytotal(estructura lista de cuentas[])
{
int k, m, n, q, r, t = 0;
suma flotante = 0;
char e[50], f[50], l[50], o[50], p[50];
printf (" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");
printf(" \ nLista de libros de muestra de Prensa Popular de Correos y Telecomunicaciones\ n ");
printf(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");
Printf("Ingrese el número de serie de cada libro comprado (ingrese 0 al final):\ n "
scanf("%d ",& ampq); p>
hacer
{
for(r = 0; r & ltn; r++)
{
if( q==lista[r].Número)
{
suma=suma+lista[r].
Precio;
t++;
}
}
scanf("%d ", & ampq);
} while(q!=0);
Printf("Número total de libros emitidos: %d\n ", t);
Printf("Unidad receptora de libros: " );
scanf("%s ", e);
Printf("Base de la publicación: ");
scanf("%s ", f);
Printf("Precio:%.2f\n ", suma);
Printf("Código postal:");
scanf( " %d ",& ampk);
Printf("Dirección de envío:");
scanf("%s ",l);
printf( " Tel:");
scanf("%d ", & ampm);
Printf("Fecha de creación:
scanf ("); %d ", & ampn);
Printf("empresa de transporte:");
scanf("%s ", o);
printf( " revisor:");
scanf("%s ", p);
}
Esto es para su referencia. No sé si funcionará. Si es así, compártelo conmigo.