# incluir ltvector gt
Usar espacio de nombres estándar
# incluir ltstring.h gt
// Libros
libros tipo c
{
Público:
int m_ID//número
charm _ nombre [200]; //Título del libro
floatm _ precio//Precio
Público:
CBook(int _ID, char* _name, float _ precio = 0.0f);
Público:
void display(); //salida
};
CBook::CBook (int _ID, char* _nombre, flotante _precio)
{
this-gt;m_ID = _ID
strcpy(this-gt;m_name, _ nombre);
Esto->m_price = _price
}
void CBook::Display()
{
printf("d\ts\t.2f\n ",this-gt;m_ID,this-gt;m_name,this-gt;m_price);
}
vector typedef ltCBook * gtBOOKARRAY
//Clase de gestión de biblioteca
Clase CBookManager
{
Público:
BOOKARRAY m_bookarray //Colección de libros
Público:
void AddBook(CBook * book);//Agregar libro
void eliminar libro(int id); reservar por número.
void modificar libro(CBook * libro); //Modificar libro
void search book(int id); //Buscar por número
void search book(int id); (char * nombre); //Buscar por título
Libro de búsqueda nulo (precio flotante); //Buscar por precio
};
Gestor de CBook nulo; ::AddBook(CBook * libro)
{
Esta->matriz m_book push_back(libro);
}
void. administrador de libros::eliminar libro(int id)
{
matriz de libros::iterador it = this- gt;m_book array.begin()
Y (it!= this- gt; m_bookarray.end())
{
if((* it)- gt;m_ID == id )
{
Esto - gt; m _ book array . erase(it);
}
}
anular administrador de CBook::modificar libro(CBook * libro)
{
int len = this- gt; m _ book size();
if(len gt; 0)
{
for(int I = 0; i ltleni)
{
if (this- gt; m_book array[I]- gt; m_ID == libro- gt ;m_ID)
{
strcpy(this- gt; m_book array[I]- gt; m_name, book- gt; m_name);
This-gt;m_book array[I]-gt ;m_price = libro-gt;m_price
Devolver;
}
}
}
}
void cbook manager:: buscar libro(int id)
{
int len = this- gt;m_book array size();
if(len gt;0)
{
for(int I = 0; i ltleni )
{
if (this- gt; m_book array[I]- gt; m_ID == id)
{
This-gt;m_book array[I]-gt;display( );
regresar;
}
}
}
}
void cbook manager:: buscar libro(char * nombre)
{
int len = this-gt;m
_ libro matriz . >
{
if(strcmp(this- gt; m_book array[I]- gt; m_name, nombre) == 0)
{
Esto - gt;m_book array[I]-gt;display();
return;
}
}
}
}
void CBookManager::SearchBook(precio flotante)
{
int len = this- gt; tamaño de la matriz del libro();
if(len gt; 0)
{
for(int I = 0; i ltleni) p>
{
Si (esto- gt; m_book array[I]- gt; m_price = = precio)
{
Esto - gt;m_book matriz[I] - gt;display();
retorno;
}
}
}
}
int main()
{
CBookManager bookmanager
//Agregar libros
bookmanager . addbook(new cbook(1, "Cerdo 1", 52.4 f));
Bibliotecario. AddBook(newCBook(2, "Pig 2", 40.4 f));
Bibliotecario. AddBook(newCBook(3, "Cerdo 3", 33.4 f));
Bibliotecario. AddBook(newCBook(4, "Pig 4", 12.4 f));
Bibliotecario. addbook (newcbook (15, "Cerdo 5", 8.4f));
Bibliotecario. addbook (newcbook (16, "Pig 6", 7.4f));
Bibliotecario. addbook (newcbook (12, "Cerdo 7", 99,4 f));
bookmanager (nuevo cbook (19, "Cerdo 9", 100,4 f)); len = administrador de libros . m _ tamaño del libro();
printf("////////////////////////// / ///\ n ");
for(int I = 0; Iltleni)
{
administrador de libros . m _ matriz de libros[I] - gt;display();
}
printf("///////////////////////// / /////\ n ");
//Eliminar el libro con ISBN 15.
Bibliotecario. eliminar libro(15);
//Modificar libro
CBook book(3, "Oveja 1", 50.2 f);
Bibliotecario.
modificar libro(amp; libro);
int len 2 = bookmanager m _ book size()
for(int I = 0; i ltlen2i )
{
administrador de libros . m _ book array[I]- gt;display();
}
printf("/ // ///////////////////////////\ n ");
//Buscar libros
Bibliotecario. SearchBook("Oveja 1");
getchar();
Devuelve 0;
}