图书馆管理系统(QT交互页面)

一.前言

做这期文章,目的就是为了给大家制作图书该管理系统时提供经验。

本人在试图独自写这些代码时,真的熬了好几个日夜,漏洞百出,bug不断。最后直到第一次答辩交作业也没有完成程序的编写。所以果断充值了GTP-4O(目前地表最强),在它的修改完善之下,很快这篇程序就成型了。

(有事还是得问老师或是GPT,自己熬干脑子说不定也搞不成来)

(要程序私聊我,我看到会回复)

二.系统介绍

【题目】

设计并实现一个简化版本的图书管理系统。为简化起见,系统中含有如下三类最基本的角色:“图书”、“图书馆”和“借书证”。“图书”用内部登记号(即 条码号,主键)、书名、作者、索书号等信息来描述; “借书证”用借书证号(主 键)、口令、持卡人姓名、借阅等级、借书容量、借阅图书等信息描述;而“图书馆”为现实中图书馆及其管理人员以及相关软件的合称,逻辑上,“图书馆”既是“图书”的容器,也同时维护着所有“借书证”的完整信息,它提供的基本服务有:根据书名或索书号来检索图书;借书功能;还书功能;根据“借书证号 +口令”查询持卡人借阅信息。

图书管理的本质在于如何维护“图书”与“借书证”之间的关系:一旦用某证借某书,则在两者间建立了联系,而还书则无非是断开两者之间的联系。把握了这点,我们去设计 “图书” 类、“借书证”类和“图书馆”类就会自然得多。顺便提一下,好的设计将有助于提高检索图书的算法效率

【基本要求】

1.系统具有根据书名或索书号检索图书、借书、还书的功能。

2.系统具有根据“借书证号+口令”查询持卡人借阅信息的功能。

3. 按“作者”检索图书的功能,登记新书及注册新用户的功能,剔除旧书和销毁

毕业生借书证功能。

【选做内容】

1.给“图书馆”增加持续化的能力,即退出系统时,图书馆中心数据库的信息(包括书目信息、借书证信息等)保存到磁盘上,下次运行系统时,又从磁盘加载这些信息。

2.实现图形化交互界面。

三.系统分析

四.类的设计 

 你也可以为借阅关系独自建一个文件,更有利于程序的运行。

五.功能实现分析

1.创建一个主窗口

作为图书馆管理系统的主页面,在主页面上有:

用户页面、管理员页面,这两个按钮。

点击这两个按钮能分别弹出窗口,实现各自的功能。

2.用户页面

在进入页面之前,要完成登录页面,输入读者编号和密码即可完成登录,通过一个循环体,对文档信息进行检索,如果输入的编号和密码在同一行中,即成功登录,否则登录失败。

在用户页面有四个按钮,分别是是检索图书、查看个人信息、借书、还书,四个按钮,点击按钮分别实现功能。

3.检索图书页面

在这个子窗口里,我们可以选择检索方式,通过书名、作者、索书号三个方式来对图书进行检索,检索后的页面应该体现图书的所有信息。

通过设计循环体,对所有的图书的信息与用户输入的信息进行比较,如果相同,则输出到文本框中,如果没有则会显示没有这本书。

1.如果是索书号一致,那么只会输出相对应的书籍的信息。

2.如果输入的是书籍名称,会输出相关书籍

3.如果输入的是作者,则会输出该作者所有的书籍作品。

4.借书

在这个窗口中,我们可以通过输入图书索书号,与借书证号和借书口令来完成借书。

把书籍编号添加在读者已借书籍的字符串中,并且在关系类中增加一堆新的联想,使该图书的编号所对应的信息变为0。即在有别人借阅时,会显示,该书不在库中。

5.持卡人信息

在这个窗口中,我们可以显示持卡人的各种信息。

通过一个循环体,对读书证信息进行循环检索,当读者编号一致时,显示该行的所有信息,这样就可以显示这些信息。

6.还书

在这个窗口中,我们可以通过输入图书索书号和图书名称来完成还书。

删除读者信息中的已借图书的字符串中的书籍编号。

同时删除在书籍和借书证之间的联系,。

7.书库管理系统

在这个窗口,可以选择删除旧图书和新增新图书的功能

1.删除旧图书,直接删除图书类中的信息,修改文本文档中的信息,把书籍编号所在的一行都给删去。

2.新增新图书,增加一个新的图书类,需要输入书名,作者,索书号。把这些信息组成一个新的字符串,加在文本文档中。

8.持卡人管理系统

在这个窗口,可以选择删除毕业学生持卡证和新增新生持卡证的功能

1.删除毕业同学信息,直接删除借书证类中的信息。修改文本文档中的信息,把读者编号所在的一行都给删去。

2.新增新生信息,增加一个新的借书证类,需要输入该新生的所有信息。把这些信息组成一个新的字符串,加在文本文档中。

9.本系统还应该拥有实时保存信息的功能,可以记录信息,进行信息更新

    本系统中的修改,是直接在文档中进行修改,所以有信息更新的功能。

六.缺陷

还有不足,本程序中,对用户的已借书籍的处理不正确,将已借书籍转换成一个整字符串,会导致在还默认的书籍时,会出现找不到该图书的现象,解决方法就是将这个转换成一个单独的类来显示,不把借阅信息放到 reader 类中,我是因为一步一步做的,做到借阅时,已经懒的一步一步回去改程序了。如果有大佬能解决这个瑕疵,请 @我  ,我也想牛逼一回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值