La Red de Conocimientos Pedagógicos - Currículum vitae - El código del sistema de gestión de biblioteca C solo necesita libros~

El código del sistema de gestión de biblioteca C solo necesita libros~

# incluir ltiostream gt

# incluir lt string gt

# incluir ltvector gt

# incluir ltcstdlib gt

Usar espacio de nombres estándar

Libro del aula{

Público:

void addBook();

información del libro de cadenas (bool es _ prestado = false)const ;

anular información modificada();

En línea bool findBook(cadena constante ampinfo, bool by_isbn = false) const{

if (by_isbn)

Regresar m_isbn == información

Otro

regresar m_autor == información | m_ISBN == información | == info;

}

Privado:

Cadena m_name, m_author, m_isbn, m_publisher

};

Sistema de clasificación {

Público:

void findBookInfo()const;

libro * find book()const ;

void información del libro modificado();

void addBook();

void pedir prestado el libro();

void remove book ();

void pop menu();

inline void leftBookNum() const{

cout lt lt"Libros restantes:"

cout lt lt"Total:"

};

Privado:

Vector ltBook * gt book, lend_book;

};

void Libro::addBook(){

cout lt lt"Ingrese el nombre del libro: ";

CIN gtm_name

cout lt lt"Ingrese el autor del libro: ";

CIN gt; gtm _author;

cout lt lt"Ingrese el número del libro: ";

p>

CIN > cout lt lt"¡Agregado exitosamente! ” lt ltendl

}

string Libro:: Información del libro(bool is _ lowered)const {

Información de cadena;

info = "Título:" this-gt;m_name (¿prestado? "(prestado)\n":"\n");

Info = "Autor:" this-gt;m_ authentic

r "\n número:" this-gt;m_ISBN "\n presione:" this-gt;m_publisher "\n";

Información de devolución;

}

void Libro::modifiedInfo(){

cout lt lt"Revisión:\n1. Título\n2. Autor\n3. Número\n4.

Editor\nPor favor seleccione: ";

int n;

CIN gt; gtn;

Conmutador (n){

Caso 1 : {

cout lt lt"Ingrese el nombre del libro:";

CIN gt; gtthis-gt;m_name

Pausa;

}

Caso 2: {

cout lt lt"Ingrese el autor del libro: ";

CIN gtthis-gt ;m_author ;

Pausa;

}

Caso 3: {

CIN gt; gt"Ingrese el ISBN:" ;

CIN gt; gtthis-gt;m_isbn

Rotura;

}

Caso 4: {

cout lt lt"Ingrese la editorial del libro:"

CIN gt;gtthis-gt;m_publisher

Pausa;

}

Valor predeterminado : {

cout lt lt"¡Elección incorrecta! " lt ltendl

Return;

}

}

cout lt lt" ¡Modificación exitosa! " lt ltendl

}

Libro *System::findBook() const{

cout lt lt"Ingrese el número del libro: ";

Cadena isbn

CIN gt; gtisbn

Libro * libro = NULL

for(tamaño _ t t = 0; t!= libros . tamaño ( ); t ){

if(libros. en(t)- gt; findBook(isbn, true)){

libro = libros en(t);

Romper;

}

}

if (libro == NULL){

for(tamaño _ t t = 0; t! = lowed_books.size();t){

if(borrowing_books.at(t)-gt;findBook(isbn,true)){

libro = lend_books.at(t);

Romper;

}

}

}

Devolver el libro ;

}

void System::findBookInfo()const {

cout lt lt"Ingrese el título del libro/autor/número de serie/publicación "Buscar ":

Información de cadena;

CIN gt; información gt;

int count = 0;

tamaño _ t t = 0;

for(t = 0; t!= libros . tamaño(); t ){

if(libros . at(t)- gt;findBook(info )){

cout lt ltbooks . at(t)- gt;book info() lt; ltendl

count;

}

}

for(t = 0; t! = lowed _ libros .

tamaño(); t ){

if(borrowing_books. at(t)- gt; findBook(info)){

cout ltborrowing_books. info(true) lt; ltendl

cuenta

}

}

cout lt lt"* * *Encontrado"

}

void System:: addBook(){

Libro *libro = libro nuevo;

Libro - gt ;addBook();

libros . push _ back(libro);

}

void System::modifiedBookInfo(){

libro * libro = find book();

if(book == NULL)

cout lt lt"¡No existe tal libro!" >

Libro - gt;información modificada();

}

void System::removeBook(){

libro * libro = buscar libro( );

if(book == NULL){

cout lt lt"¡No existe tal libro!"

}

Vector ltBook * gt* iterador it = libros . comenzar()

for(it = libros . comenzar(); it! = libros . end() ; it ){

if((*it) == libro){

libros . erase(it);

cout lt lt "¡Eliminado correctamente! " lt ltendl

Return;

}

}

for(it = prestado _ libros . comenzar() ; it! = lowed _ books . end(); it ){

if((*it) == libro){

prestado _ books . p>cout lt lt"¡Eliminación exitosa!"

Regresar;

}

}

cout lt lt"La eliminación falló ! ” lt ltendl

}

void System::borrowBook(){

libro * libro = buscar libro();

if (libro == NULL){

cout lt lt"¡No existe tal libro! ” lt ltendl

Retorno;

}

for(vector lt; Libro * gt* iterador it = libros . comenzar(); it ! = libros . end(); it ){

if((*it) == libro){

borrar(it);

Romper;< /. p>

}

}

borrowed_books.push_back(Libro)

;

cout lt lt"¡El préstamo del libro fue exitoso!"

}

void System::popMenu(){

while(true){

const string menu = " = = = = = = = = = = = = = = = = = = = = = = = = = = = = = \nSistema de gestión de biblioteca \n1. Entrada del libro\n2. Modificación de la información del libro\n4.

menú cout lt;

CIN gtn; /p>

Caso 1: {

addBook();

Break;

}

Caso 2: {

modifiedBookInfo();

Roto;

}

Caso 3: {

eliminar libro();

Pausa;

}

Caso 4: {

findBookInfo();

Pausa;

}

Caso 5: {

pedir prestado un libro();

Pausa;

}

Caso 6: {

leftBookNum();

Pausa;

}

Caso 7: {

Salir(0);

}

Valor predeterminado: {

cout lt lt"Selección incorrecta"

CIN . sincronización();

CIN .

}

int main(){

Sistema *sys = nuevo sistema

sys-gt menú emergente();

Devuelve 0;

}