Sistema de gestión de bibliotecas c simple

# incluir ltstdio.h gt

# 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)

{

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;

}