Gerenciamento de biblioteca de livros com classes

C++ Medium classes

Tarefa «Gerenciamento de biblioteca de livros com classes»

Implemente a classe Book para armazenar informações sobre um livro: título (string), autor (string), ano de publicação (número inteiro) e status (disponível ou emprestado, valor booleano). A classe deve conter um construtor para inicializar todos os campos, além dos métodos: setStatus(bool) para alterar o status, getInfo() para retornar uma string com informações completas sobre o livro. No main, crie um array de livros (no máximo 100), preencha-o com dados do arquivo de entrada e processe os comandos. A entrada fornece primeiro um número N — quantidade de livros, depois N linhas com dados: título autor ano_publicação status (0 — disponível, 1 — emprestado). Após isso, é fornecido um comando: 'print_all' — exibir informações sobre todos os livros; 'print_available' — exibir apenas os livros disponíveis; 'borrow <título>' — alterar o status do livro com o título especificado para 'emprestado' (se o livro não for encontrado ou já estiver emprestado, exibir uma mensagem correspondente).

Formato de Entrada

Primeira linha: um número inteiro N (1 ≤ N ≤ 100). Em seguida, N linhas: título (string sem espaços), autor (string sem espaços), ano (número inteiro), status (0 ou 1). Em seguida, uma linha com o comando (um dos descritos).

Formato de Saída

Para os comandos 'print_all' e 'print_available' — exibir informações de cada livro no formato: "Título: <título>, Autor: <autor>, Ano: <ano>, Status: <disponível/emprestado>" (cada livro em uma nova linha). Para o comando 'borrow' — se o livro for encontrado e estiver disponível, exibir "Livro '<título>' emprestado." e alterar o status; se não for encontrado — "Livro '<título>' não encontrado."; se já estiver emprestado — "Livro '<título>' já está emprestado.".

Exemplos

Exemplo 1

ENTRADA
2 A B 1999 1 C D 2005 0 print_available
SAÍDA
Название: C, Автор: D, Год: 2005, Статус: доступна

Exemplo 2

ENTRADA
1 X Y 2022 0 borrow X
SAÍDA
Книга 'X' выдана.

Exemplo 3

ENTRADA
Война и мир,Роман Преступление и наказание,Роман 1984,Антиутопия Мастер и Маргарита,Роман
SAÍDA
Роман: 3 Антиутопия: 1
main.cpp