<div> <p>使用类管理图书馆藏书</p> </div>

C++ Medium classes

任务 «<div> <p>使用类管理图书馆藏书</p> </div>»

实现一个 Book 类,用于存储图书信息:书名(字符串)、作者(字符串)、出版年份(整数)和状态(可借或已借出,布尔值)。该类应包含一个构造函数用于初始化所有字段,以及以下方法:setStatus(bool) 用于修改状态,getInfo() 用于返回包含图书完整信息的字符串。在 main 中创建一个图书数组(不超过 100 本),从输入文件中读取数据填充该数组,并处理命令。输入首先是一个数字 N —— 图书数量,然后是 N 行数据:书名 作者 出版年份 状态(0 表示可借,1 表示已借出)。之后输入一条命令:'print_all' —— 输出所有图书的信息;'print_available' —— 仅输出可借的图书;'borrow <书名>' —— 将指定书名的图书状态修改为“已借出”(如果未找到该书或该书已借出,则输出相应提示信息)。

输入格式

第一行:整数 N (1 ≤ N ≤ 100)。接下来 N 行:名称(不含空格的字符串),作者(不含空格的字符串),年份(整数),状态(0 或 1)。然后一行命令(为所描述的命令之一)。

输出格式

对于命令 'print_all' 和 'print_available' — 以格式输出每本书的信息:"书名: <书名>, 作者: <作者>, 年份: <年份>, 状态: <available/issued>"(每本书占一行)。对于命令 'borrow' — 如果找到书籍且可借出,则输出 "Book '<书名>' issued." 并更改状态;如果未找到,则输出 "Book '<书名>' not found.";如果已借出,则输出 "Book '<书名>' already issued."。

示例

示例 1

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

示例 2

输入
1 X Y 2022 0 borrow X
输出
Книга 'X' выдана.

示例 3

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