¡Buscando código C++! ! ¡Dios los bendiga! ! ! ¡Sobre el sistema de gestión de bibliotecas! !

// book.cpp: define el punto de entrada de la aplicación de consola.

//

#include "book.h"

# include & ltiostream & gt

# include & ltwindows.h & gt

# include & ltconio.h & gt

# include & ltfstream & gt

Usar espacio de nombres std

Void gotoxy( int x, int y) //Columna x: 0~79 Fila y: 0~24.

{

HANDLE hConsole = GetStdHandle(STD _ OUTPUT _ HANDLE

COORD coordScreen={x, y }; SetConsoleCursorPosition(hConsole, coord screen);

Return;

}

Plantilla & lttypename T & gt

void show_data(int x , int y, T datos)

{

gotoxy(x, y);

cout & lt& lt datos;

}

Plantilla y lttypename T & gt

void input_data(int x, int y, char Prompt[], T & amp data)

{

gotoxy(x, y);

cout & lt& lt rápido

CIN & gt & gt datos; >

Int show_main_menu() //Muestra el menú principal y selecciona.

{

char ch

mientras (1)

{

system("cls");

show_data(4,1,"┌─────────────────────────────┐"); p >

show_data(4, 2, "││");

Show_data(4, 3, "│Gestión de biblioteca│"); , "││");

show_data(4,5,"└──────────────────────────── ─┘ ");

Mostrar _ datos (20, 8, "1-Agregar información del libro");

Mostrar _ datos (20, 10, "2-Modificar información del libro ") ;

Mostrar _ datos (20, 12, "3-Eliminar información del libro");

Mostrar _ datos (20, 14, "4-Buscar información del libro")

Mostrar_datos (20, 16, "0-Salir");

Mostrar_datos (20, 18, "Seleccione"

ch = getche); ();

if(ch & gt;= ' 0 ' & amp& ampch & lt='4')

break;

}

Regresar cap-48;

}

int main()

{ int seleccionado = 0;

int n = 0;

LIBRO LIBRO[MAX _ LIBRO];

cargar_datos_desde_archivo(libro, n);

mientras (1)

{

seleccionado = mostrar _ menú principal _();

Cambiar (seleccionado)

{

Caso 1: add_book( libro , n); romper;

Caso 2: actualizar_libro (libro, n);

Caso 3: borrar_libro (libro, n); >Caso 4: view_book(libro, n); roto;

Caso 0: roto

};

if (seleccionado == 0)

p>

{

Show_data(20, 20, "Salir de la gestión de biblioteca, ¡gracias! \n ");

Pausa;

}

}

save_data_to_file(libro, n);

Return 0;

}

void add_book(Libro libro[], int & ampN) //Agregar nuevo libro

{

Reservar bk;

mientras (1)

{

Sistema("cls");

Input_data(4, 2, " Número de libro (finaliza cuando se ingresa 0): ", bk. Book_no);

if (strcmp("0", bk.book_no)==0)

Break;

Input_data(4, 4, "Nombre del libro:", bk. book_name

Input_data (4, 6, "Autor:", bk. Autor); /p>

p>

Input_data(4,8,"Editor:",bk.publisher);

input_data(4,10,"ISBN:",bk.

ISBN);

Input_data(4, 12, "Precio del libro:", bk . precio

Input_data (4, 14, "Número total de páginas:", bk . páginas );

char yn

Input_data(4, 16, "¿Quieres guardar (s/n?): ", yn ); if (' y'==yn || 'Y'==yn)

{

libro[n]= bk;

n++;

}

}

}

void update_book(Libro libro[], int & ampN) //Modificar libro

{ BP predeterminado;

int i, j, k, a;

char p;

mientras (1)

{

p>

System("cls");

a = 0;

Input_data(4, 2, "Ingrese el número del libro para modificar (finaliza cuando se ingresa 0): ", BP.book_no);

if (strcmp("0 ",bp.book_no)==0)

Break;

for( i = 0;i<n;i++)

{if(strcmp(libro[i]).book_no,bp.book_no)==0)

{ BP = libro[ I]; a = 1; descanso }

}

if (a==0)

{show_data(4) , 4, "No se encontró ningún libro "); Sistema("Pausa");}

Otro

{

Mostrar _ datos (2, 4, " 1-ISBN: ");

Mostrar _ datos (2, 6, " 2-nombre del libro: ");

Mostrar _ datos (2, 8, " 3-autor : ");

Mostrar _ datos (2, 10, " 4-Presione: ");

mostrar_datos (2, 12, " 5-ISBN: ");

Mostrar _ datos (2, 14, "Precio de 6 copias:");

Mostrar _ datos (2, 16, "7-Número total de páginas:"); p>

Mostrar_datos (2, 18, "0-fin de modificación");

mostrar_datos (16, 4, BP. libro_no); 16, 6, BP . libro _ nombre);

show_data(16,8,BP.autor);

show_data(16,10,BP.publisher);

show_data(16,12, pb. ISBN);

show_data(16, 14, BP . precio);

show_data(16, 16, BP . páginas); 0;j<15;j++)

{show_data(2, 20, "Ingrese el número de serie antes de modificar");

p = getche();

k = p-48;

si(k & gt;=1.

& ampk & lt=7)

switch(k)

{caso 1:input_data(38, 4, "", BP . book _ no

Caso 2: input_data (38, 6, "", BP . nombre del libro roto;

Caso 3: input_data (38, 8, "", BP . autor roto); ;

Caso 4: input_data(38, 10, "", BP . editor;

Caso 5: input_data (38, 12, "", pb. ISBN); ;Pausa;

Caso 6: input_data(38, 14, "", BP . precio

Caso 7: input_data(38, 16, "", BP . páginas); p>char yn

Input_data(4, 22, "¿Quieres guardar (s/n?): ", yn);

if(' Y ' = = yn | ' Y ' = = yn)libro[I]= BP;

}

}

}

void eliminar_libro( Libro libro [], int & ampN) //Eliminar libros

{

Libro bq;

int i, j;

while ( 1)

{

System("cls");

Input_data(4, 2, "Ingrese el número del libro que desea eliminar (fin cuando se ingresa 0) :", bq. book_no);

if (strcmp("0 ", bq.book_no)==0)

Break;

for (i = 0;i<n;i++)

{if(strcmp(libro[i]).

book_no, bq .book_no)==0){ j = i;break;}}

if (i==n)

{show_data(4,4," Reservar no encontrado"); System("Pausa");}

Otro

{

Show_data(1, 4, "Número de libro:");

Show_data(1,6,"Nombre del libro:");

Show_data(1,8,"Autor:");

Show_data(1,10, "Prensa:");

show_data(1,12," ISBN:");

Show_data(1,14,"Precio del libro:");

Show_data(1, 16, "Número total de páginas:");

show_data(10, 4, libro[j].book_no);

show_data(10, 6 , libro[j].nombre_libro);

show_data(10, 8, libro[j].autor);

show_data(10, 10, libro[j ].Editor) ;

show_data(10, 12, libro[j].ISBN);

show_data(10, 14, libro[j].Precio);

p>

show_data(10, 16, libro[j].número de página);

char yn

Input_data(4, 18, "¿Quieres eliminar (y/n? ): ",yn);

if ('y'==yn || 'Y'==yn)

{ for(I = 0; i<= n-j;i++ )

libro[I+j]= libro[I+j+1];

n-;}

}

}

}

Voidview _ book (bookbook [], int n) // Explora toda la información del libro.

{

int i, fila

sistema("cls");

si (n==0)

{

Show_data(10, 10, "No hay información del libro, ¡salir!");

Sistema ("pausa");

Regresar ;

}

fila = 3;

for(I = 0;i<n;i++)

{

if (fila==3)

{ system(" cls ");

Show_data(0, 1, "número de libro");

Show_data(12,1,"Título del libro");

show_data(341,"Autor");

show_data(561,"Editor"); >show_data(0, 2, "-");

}

show_data(0, fila, libro[i].book_no);

show_data( 12, fila, libro[i].

book_name);

show_data(34, fila, libro[i].Autor);

show_data(56, fila, libro[i].Editor);

p>

fila++;

if(fila & gt;=20 || i==n-1)

{

Mostrar_datos( 5, fila+1, "Presione cualquier tecla para continuar");

getche();

fila = 3; p>}

}

void load _ data _ from _ file(bookbook[], int & ampN) //Importar datos desde el disco "book.dat"

{ int I;

ifstream infile("libro.dat ", IOs::in

infile & gt& gtn; I = 0 ;i<n;i++)

archivo>>book[i]. libro _ no & gt& gtbook[i]. nombre_libro>& gtbook[i]. Autor>& gtbook[i]. editor>& gtbook[i]. ISBN>& gtbook[i]. precio>& gtbook[i]. Número de páginas;

infile . close();

}

void save _ data _ to _ file(libro libro[], int n)/ / Almacenar datos en el disco "book.dat".

{ int I;

de flujo de salida(" libro . dat ");

if (!archivo de salida)

{ cerr & lt& lt" open book.dat reeor " & lt& ltendl

Salir(1);

}

outfile & lt& ltn & lt& ltendl

for(i = 0;i<n;i++)

archivo de salida<<book[i]. libro _ no & lt& lt" " " & lt& ltbook[yo]. nombre_libro & lt& lt" " " & lt& ltbook[yo]. Autor& lt& lt" "

& lt& ltLibro[I]. Editorial & lt& lt" " " & lt& ltbooks[i]. ISBN & lt& lt" " " & lt& ltbooks[i]. precio& lt& lt" " " & lt& ltbook[i].page<& ltendl

outfile . close();

}

Este soy mi código. Elimina el parte del libro y simplemente cambie el contenido de la comparación del número del libro al título del libro