C++图书收藏模拟系统[2022-12-31]
课题名称:图书收藏模拟系统的设计与实现
-
课题简介
目前有一些著名的网上图书购买系统,比如当当网、亚马逊等,他们都有收藏和购买图书的功能,通过查询书库中的图书可以把你感兴趣的图书收藏到收藏夹,也可以把你准备购买的图书添加到购物车,完成购买。现在要求利用已经学到的程序设计以及数据结构与算法设计等课程的相关知识模拟实现具有图书收藏功能的系统。 -
本课题预期目标
本课题拟开发一个“图书收藏模拟系统”,该系统包括书库子系统和收藏夹子系统,各子系统的功能如下文所示。运行系统时要对系统进初始化,读取书库数据文件 (txt格式文件),书库数据文件的数据预先手工建立。通过系统功能菜单提示,选择执行相应的功能,结束系统功能的演示只能通过“退出”菜单选项实现。退出系统时,把当前书库的图书信息保存到书库数据文件。
源码
https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
2.1书库子系统
2.1.1[添加书库图书]
通过键盘输入图书信息,把一本新的图书加入到当前书库中。
如果当前书库中已有相同图书号的图书,则不能重复添加。
若添加成功,则显示该图书号的图书信息;否则显示添加失败信息。
[注1] 关于书库的图书信息构成参见后文“2.2 图书信息说明”(后文关于书库的图书信息构成参考此处注释)。
[注2] 从键盘输入“出版日期”时采用人工定义方式输入,不取机器日期,其格式参见后文“2.2 图书信息说明”
2.1.2[查询书库图书]
能按照指定图书号查询显示当前书库中该图书号的图书信息
若查询成功,则显示该图书号的图书信息;否则显示查询失败信息
2.1.3[修改库存数量]
对当前书库中某一本指定图书号图书的库存数量进行修改,同时自动计算修改库存金额
(库存金额=库存数量*价格)。
最后显示该图书号的图书信息。
2.1.4[按价格显示图书]
指定一个价格范围,把当前书库中满足该价格范围的图书,按照价格从高到低次序显示输出图书信息。
显示的每一本图书信息包括图书号、书名、作者、价格。
2.1.5[删除书库图书]
把指定图书号的图书从当前书库中删除。
若可以删除,则在确定删除前显示该图书号的图书信息,并确定是否删除。
如果收藏夹中收藏了这本被删除的图书,则收藏夹中也要删除该图书。
2.2收藏夹子系统
2.2.1[收藏图书]
从当前书库的图书中收藏一本指定图书号的图书到收藏夹
如果收藏夹中已有相同图书号的图书,则不能重复收藏。
若可以收藏,则记录收藏日期,并显示收藏到收藏夹的这本图书的信息。
[注1] 关于收藏夹的图书信息构成参见后文“2.2 图书信息说明”(后文关于收藏夹的图书信息构成参考此处注释)。
[注2] 从键盘输入“收藏日期”时采用人工定义方式输入,不取机器日期,其格式参见后文“2.2 图书信息说明”。
2.2.2[查询收藏夹图书]
能按照指定图书号查询显示收藏夹中该图书号的图书信息。
若查询成功,则显示该图书号的图书信息:否则显示查询失败信息。
2.2.3[按收藏日期显示图书]
能按照收藏日期的先后显示输出收藏夹中所收藏的所有图书的图书信息。
2.2.4[移出收藏夹图书]
可以把不想收藏的某一本指定图书号的图书移出收藏夹。
若可以移出,则在确定移出前显示该图书号的图书信息,并确定是否移出[注]除以上功能外,经过调研之后根据具体情况酌情可增加其他功能。
2.3图书信息说明
(1)书库图书信息包括图书号、书名、作者、出版社、出版日期、价格、库存数量库存金额(库存金额=库存数量*价格)、入库日期。
(2)收藏夹图书信息包括图书号、书名、作者、出版社、出版日期、价格、收藏日期。
(3)书库和收藏夹中的图书号是主关键字,即所有图书的图书号各不相同。“图书号定义为4位数字组成的字符串类型,如“1001”、“1002”、“2010”等。
(4)“出版日期”、“入库日期”、“收藏日期”定义为字符串类型,格式为某年/某月/某日,如2018年12月15日规定定义为2018/12/15。从键盘输入所有“日期”时都采用人工定义方式输入,不取机器日期。
(5)其他数据项的数据类型自行按需定义。
2.4其他要求
(1)要求给出菜单提示,整个算法演示程序只能从“退出”功能结束。
(2)系统菜单界面设计要美观、整洁。系统功能操作过程中,要给出各种提示信息,提示信息要明确、对用户友好,方便用户操作。
(3)进入每一项系统功能后,如果需要的话,首先显示各种操作前被处理图书信息 (如当前书库、收藏夹的图书信息),然后进行各种处理,最后给出处理结果。比如“2.1.2[查询书库图书]”功能,可以先显示当前书库中的所有图书信息,然后输入待查询的图书号,最后给出查询结果。