图书馆管理系统

时间:2024-10-10 18:18:06

1.添加图书模块:

用户选择了添加图书功能后,系统会要求用户输入图书的类型、编号、名称、作者、出版社、价格和库存等信息。根据用户输入的类型,创建对应类型的图书对象,如ScienceBook、SocialBook或ForeignBook。将用户输入的图书信息赋值给图书对象的成员变量,将图书对象添加到Library类中的Books类型向量中,即将其存储在图书馆的图书库中。

2.借书模块:

用户选择了借书功能后,系统会要求用户输入要借阅的图书编号和借阅者的信息。首先,通过调用findID()函数,在图书馆的图书库中查找指定编号的图书对象。 如果找到了对应的图书对象,并且该图书的库存大于0,则进行以下操作:

   - 将借阅者的信息记录在Borrow类的对象中,包括借阅者的姓名、借出时间和归还时间;

   - 将图书的库存减1,表示该图书被借走了;

   - 将Borrow对象添加到Library类中的Borrow类型向量中,即记录该图书的借阅信息;

如果未找到对应的图书对象或库存不足,则提示借书失败。

3.还书模块:

用户选择了还书功能后,系统会要求用户输入要归还的图书编号和借阅者的信息。首先,通过调用findID()函数,在图书馆的图书库中查找指定编号的图书对象。如果找到了对应的图书对象,并且该图书的借阅记录中存在借阅者的信息,则进行以下操作:

   - 将图书的库存加1,表示该图书归还了;

   - 在借阅记录中删除该借阅者的信息;

如果未找到对应的图书对象或借阅记录不存在,则提示还书失败。

4.统计模块:

用户选择了查询功能后,系统会要求用户输入关键字进行搜索,遍历图书馆的图书库中的每本图书,逐一检查图书的编号、名称、作者、出版社等是否包含用户输入的关键字。如果有匹配的图书,则将其信息输出给用户,如果没有匹配的图书,则提示未找到相关图书。

5.借阅记录模块:

统计图书馆中所有图书的数量和总价值,遍历图书馆的图书库中的每本图书,累加图书的库存数量,并计算图书的总价值(单价乘以库存),输出统计结果给用户。

1. 首先,包含了所需的头文件和命名空间声明。

2. 声明了一个Borrow类,用于记录图书的外借信息。

3. 声明了一个Books类作为图书的基类,其中包括了图书的基本信息和操作方法,并定义了一些虚函数。

4. 接着,定义了ScienceBook类、SocialBook类和ForeignBook类,它们继承自Books类,并重写了父类中的虚函数,以适应不同类型图书的特点。

5. 定义了Library类,作为图书馆的管理类,封装了菜单操作和各种功能模块。

6. 在Library类中,首先定义了一个Books类型的向量,用于存储图书信息。

7. 然后,实现了Library类的成员函数,包括菜单操作函数menu()和各种功能函数:Add()、Lend()、Return()、Search()和Stat()。

8. 在主函数中,创建了一个Library对象,并调用其menu()函数,开始图书馆管理系统的运行。

9. 在menu()函数中,显示了菜单选项,并根据用户的选择调用相应的功能函数。

10. 每个功能函数中,根据用户输入的信息进行相应的操作,如添加图书、借书、还书、查询和统计等。

11. 除此之外,还有一些辅助函数,如findID()函数用于根据图书编号查找图书对象,并load()函数用于从文件加载图书信息。

12. 程序运行结束后,用户可以选择退出系统或返回菜单继续操作。

以上是该系统的程序模块流程,通过不同的功能函数和菜单操作,实现了图书馆管理系统的各项功能。

添加图书测试:1、添加自然科学图书类:输入1 走进科学 张三 李四出版社 100 1

操作步骤描述输入 期望输出 实际输出

1选择图书类型期望输出相应添加页面

2输入 编号 书名 作者 出版社 价格 库存

3将图书信息保存如文本文件books中

4输出添加成功提示