图书管理系统
- 格式:doc
- 大小:11.71 KB
- 文档页数:14
图书管理系统文献综述随着信息技术的不断发展与应用,图书管理系统作为信息管理的重要组成部分,逐渐成为各类图书馆的基础设施之一。
本文将对图书管理系统的相关文献进行综述,探讨其发展现状和未来趋势。
一、图书管理系统的概述1.1 图书管理系统的定义与功能图书管理系统是一种利用计算机技术和信息管理方法,对图书馆的各项业务进行管理、服务和控制的系统。
其主要功能包括图书流通管理、读者管理、书目管理、查询统计、数字资源管理等。
1.2 图书管理系统的发展历程早期的图书管理系统主要以人工操作为主,如人工登记借还书记录、人工编目等。
而随着计算机技术的发展,图书管理系统逐渐实现自动化管理,提高了工作效率和服务质量。
二、图书管理系统的关键技术2.1 数据管理技术图书管理系统的核心在于对图书馆资源和读者信息的管理。
因此,数据管理技术的应用对系统的性能和功能至关重要,如数据库设计与管理、数据安全与备份等。
2.2 网络技术图书管理系统的网络化是当前的发展趋势,它可以实现不同图书馆之间的资源共享和互联互通。
网络技术的应用包括网络架构设计、网络安全等,以确保系统的可靠性和稳定性。
2.3 智能搜索与推荐技术随着图书馆资源的日益增加,如何快速准确地找到所需图书成为了图书管理员和读者面临的挑战。
智能搜索与推荐技术的应用可以根据读者的兴趣和需求,提供个性化的图书推荐与查询服务。
三、图书管理系统的应用案例3.1 图书馆借阅管理系统图书馆借阅管理系统是图书馆管理的重要组成部分,它可以对图书的借还记录进行电子化管理,提供自助借还服务,并实现书目自动整理与编目等功能。
3.2 数字图书馆管理系统数字图书馆管理系统主要用于管理和服务数字资源,如电子书、期刊、论文等。
它提供了在线阅读、检索和下载等功能,为读者提供更加丰富和便捷的阅读体验。
3.3 学校图书管理系统学校图书管理系统是针对学校图书馆的特点和需求而开发的,它实现了师生借阅记录的管理、读者证的制作和管理、图书采购与清算等功能,提高了学校图书馆的管理水平和服务质量。
图书管理系统小结图书管理系统是一个用于管理图书馆图书的软件系统。
它可以记录图书的信息,如书名、作者、出版社等,同时也可以记录读者的借阅信息。
图书管理系统的建立可以提高图书馆的管理效率,加快借还书的速度,提供更好的服务质量。
在图书管理系统的设计中,需考虑以下几个方面:首先,要采用合适的数据库管理系统。
数据库管理系统是图书管理系统的核心,需要使用可靠、高效的数据库软件来存储和管理图书馆的书籍信息。
常见的数据库管理系统有MySQL、Oracle、SQL Server 等。
根据图书馆的规模和需求选取合适的数据库管理系统。
其次,要设计合理的图书分类和索引系统。
图书馆的图书按照一定的分类和排序方式存放,这样方便读者查找所需图书。
在图书管理系统中,要设计好图书分类和索引系统,使读者能方便快捷地查找所需书籍。
还要设计合理的借阅和归还功能。
图书管理系统应该提供方便的借阅和归还功能,读者可以通过系统在线预借书籍,并在到馆后通过系统的自助借还机完成借还书的操作。
借阅过程中应记录读者的借阅信息,包括借阅时间、归还时间等,以便图书馆管理者了解读者的借阅情况。
图书管理系统还应提供图书馆资源管理功能。
图书馆不仅仅是管理图书,还包括其他多种资源,如期刊、报纸、音像资料等。
图书管理系统应该提供对这些图书馆资源的管理功能,使图书馆能够更好地管理和使用这些资源。
此外,图书管理系统还应该提供报表生成和统计分析功能。
图书馆管理者需要了解图书借阅的情况,如每月借还书的数量、热门图书的借阅次数等。
图书管理系统应该能够根据借阅记录,生成各种报表和统计分析结果,以便图书馆管理者对图书借阅情况进行分析和决策。
总之,图书管理系统是一个非常有用的软件系统,可以帮助图书馆提高管理效率,提供更好的服务质量。
它应该具备合理的数据库管理系统、图书分类和索引系统、借阅和归还功能、资源管理功能、报表生成和统计分析功能等。
通过有效的设计和使用,图书管理系统能够使图书馆更加高效、便捷地管理图书馆资源,提供优质的图书馆服务。
图书管理系统工作总结8篇篇1一、引言在过去的一年中,我负责管理和维护图书管理系统的正常运行。
通过不断努力和改进,系统在图书资源的整合、检索、借阅和归还等方面取得了显著成效。
本文将详细介绍图书管理系统的运行情况、管理措施、改进方案以及未来展望。
二、系统运行情况目前,图书管理系统已经实现了图书资源的全面整合,包括图书的录入、检索、借阅和归还等功能。
系统支持多种检索方式,如书名、作者、关键词等,方便用户快速找到所需图书。
同时,系统还具备借阅和归还图书的功能,支持预约借书和自助借还书,大大提高了借阅效率。
在系统运行过程中,我们密切关注用户需求,不断优化系统功能。
例如,针对用户反映的借书流程繁琐问题,我们对借书流程进行了优化,减少了借书步骤,提高了借书效率。
此外,我们还增加了图书推荐功能,根据用户的借阅历史和偏好,推荐相关图书,提升了用户满意度。
三、管理措施为确保图书管理系统的稳定运行,我们采取了一系列管理措施。
首先,我们建立了完善的系统管理制度,明确了各级管理员的职责和权限,确保了系统的规范运行。
其次,我们加强了系统安全防护措施,如设置访问权限、定期更新密码等,保障了系统安全。
此外,我们还定期对系统进行维护和更新,确保了系统的稳定性和可靠性。
四、改进方案尽管图书管理系统在运行过程中取得了显著成效,但我们仍需不断改进以提升用户体验。
针对现有问题,我们提出以下改进方案:一是进一步完善系统功能,如增加图书分类、书评等功能,提升用户检索和借阅体验;二是优化系统界面设计,使界面更加美观、易用;三是加强系统性能监控和优化,确保系统响应速度和稳定性。
五、未来展望随着信息技术的不断发展,图书管理系统将迎来更多发展机遇和挑战。
我们将继续关注行业发展趋势和用户需求变化,不断优化和改进系统功能和性能。
同时,我们也将积极探索与其他系统的互联互通,以实现资源共享和优势互补。
在未来发展中,我们将继续努力提升图书管理系统的水平和服务质量,为用户提供更加便捷、高效的图书借阅体验。
图书管理系统功能
图书管理系统是一种用于管理图书馆和书店等机构的软件系统,具备以下功能:
1. 图书录入功能:包括图书的基本信息录入,如书名、作者、出版社、ISBN号等,还可添加图书封面、图书简介等附加信息。
2. 图书查询功能:用户可以根据关键词、作者、出版社等条件进行图书查询,并可查看图书详细信息,方便用户了解图书情况。
3. 图书借阅功能:用户可以通过系统预定图书、自助借阅和归还图书。
在借阅过程中,系统会自动更新图书的借阅状态,并提醒用户还书日期。
4. 图书续借功能:用户可以在借书期限内申请续借图书,并可以在系统中查看续借记录。
5. 图书预约功能:用户可以根据图书馆的实际情况,在系统中预约图书,方便用户提前获取图书。
6. 图书管理功能:管理员可以对图书信息进行增加、删除、修改和查询等操作,方便管理图书馆的图书资源。
7. 用户管理功能:管理员可以对用户信息进行增加、删除、修改和查询等操作,包括用户的基本信息和借阅记录等。
8. 读者建议功能:用户可以在系统中提出对图书馆服务的建议和意见,方便图书馆改进服务质量。
9. 数据统计功能:系统可以统计和展示图书的借阅情况、预约情况、借阅率等数据,帮助管理员进行决策和管理。
10. 系统安全功能:系统具备用户权限管理和数据备份等安全
功能,保证图书馆数据的安全性和可靠性。
通过以上功能,图书管理系统可以提高图书馆和书店的工作效率,提供更好的服务,方便用户管理图书和进行图书咨询。
图书管理系统完整版1. 引言本文档主要描述了图书管理系统的功能、操作和配置,以帮助用户更好地了解和使用本系统。
本文档适用于图书管理系统的新手用户和潜在用户。
2. 系统概述图书管理系统是一个用于管理图书馆图书、读者和借阅信息的管理工具。
通过本系统,管理员可以方便地管理图书信息、读者信息和借阅记录,提供高效、便捷的图书管理服务。
3. 功能模块图书管理系统主要包括以下功能模块:3.1 图书管理图书管理模块包括图书信息的添加、修改、删除和查询功能。
管理员可以方便地维护图书馆的图书资料。
3.2 读者管理读者管理模块包括读者信息的添加、修改、删除和查询功能。
管理员可以维护读者信息,包括姓名、电话、邮箱等。
3.3 借阅管理借阅管理模块包括借阅信息的添加、修改、删除和查询功能。
管理员可以记录和管理读者的借阅信息,包括借阅时间、归还时间等。
3.4 系统设置系统设置模块包括系统参数的配置,如借阅规则、提醒消息等。
管理员可以根据需要调整系统设置。
4. 操作指南以下各章节将分别介绍各功能模块的操作步骤。
4.1 图书管理操作指南4.1.1 添加图书1.登录系统,进入“图书管理”模块。
2.点击“添加图书”按钮。
3.输入图书相关信息,包括书名、作者、出版社等。
4.选择图书分类,点击“保存”按钮。
4.1.2 修改图书信息1.登录系统,进入“图书管理”模块。
2.在图书列表中找到需要修改的图书,点击“编辑”按钮。
3.修改图书相关信息,点击“保存”按钮。
4.1.3 删除图书1.登录系统,进入“图书管理”模块。
2.在图书列表中找到需要删除的图书,点击“删除”按钮。
3.确认删除后,系统将删除该图书信息。
4.1.4 查询图书1.登录系统,进入“图书管理”模块。
2.在图书列表中,可以通过书名、作者等条件进行搜索。
3.系统将显示匹配的图书列表。
4.2 读者管理操作指南4.2.1 添加读者1.登录系统,进入“读者管理”模块。
2.点击“添加读者”按钮。
图书管理系统图书管理系统是一个用于管理图书馆馆藏资源、管理借阅情况以及提供图书查询服务的信息系统。
它的实现可以帮助图书馆提高工作效率,方便读者进行图书查询和借阅操作。
一、系统简介图书管理系统是基于计算机技术的一种信息管理系统,其核心功能是对图书馆内图书进行分类、录入、存储、查询、借阅和归还等操作。
通过该系统,图书馆管理员可以更好地管理馆藏图书,了解图书的借阅情况,及时进行图书的维护和补充。
同时,读者也可以通过该系统方便地查询所需图书的信息,并进行自助借阅和归还。
二、系统架构图书管理系统通常由服务器端和客户端两部分组成。
服务器端负责数据的存储与处理,客户端为读者和管理员提供操作界面。
客户端可以通过各种终端设备(如电脑、手机等)连接服务器,进行相关操作。
系统的数据存储主要包括图书信息、读者信息、借阅记录等。
图书信息包括书名、作者、出版社、ISBN编号等内容,读者信息包括姓名、学号、借阅情况等内容,借阅记录包括借阅时间、归还时间等信息。
三、系统功能1. 图书录入图书馆管理员可以通过系统将新购得的图书录入到系统中。
录入时需要填写图书的基本信息,并分配相应的图书编号。
2. 图书查询读者可以通过系统查询所需图书的信息。
查询可以根据书名、作者、ISBN等关键字进行,系统将返回符合条件的图书列表。
3. 图书借阅与归还读者可以通过系统自助借阅和归还图书。
借阅时需要输入借阅图书的编号,系统将记录借阅时间并更新借阅状态;归还时需要输入归还图书的编号,系统将记录归还时间并更新借阅状态。
4. 图书续借读者可以通过系统进行图书续借操作。
续借可以延长借阅期限,但通常有数量和期限限制。
5. 逾期管理系统可以自动检测和管理逾期借阅情况。
逾期的读者将会收到相应的提醒,并可能面临一定的逾期罚款。
6. 读者管理系统可以管理读者的基本信息,包括姓名、学号、联系方式等。
同时还可以记录读者的借阅历史,帮助图书馆进行读者服务和统计分析。
四、系统优势与应用1. 提高工作效率图书管理系统可以自动化处理图书借还过程,减少人工操作,提高工作效率。
图书管理系统
1.功能描述
图书管理系统数据库是为了满足图书馆管理图书的工
作而设计的,包括五个模块:“图书信息管理”、“借阅
者信息管理”、“借还书信息管理”、“出版社信息管理”
和“报表显示”。
(1)图书信息管理。
实现图书信息的录入,当有新书进库时,则把该图书的信息录入计算机。
此
外,还可以浏览和查询图书的详细信息,实现
图书的统计等。
(2)借阅者信息管理。
实现借阅者信息的录入,可将新的借阅者的信息输入到计算机中。
还可以
浏览或者查询借阅者的详细信息等。
(3)借还书信息管理。
实现借书信息的录入,同时还可以浏览借还书的信息。
(4)出版社信息管理。
实现出版社信息的录入,可将新的出版社的信息录入到计算机中去,同
时,还可以对出版社的信息进行浏览和查询。
(5)报表显示。
可是显示各类所需的报表。
2.模块和流程图的设计。
图书管理系统流程图图书管理系统流程图一、引言图书管理系统是一种实现图书馆资源管理、读者管理和图书借阅归还等功能的软件系统。
本文档旨在详细介绍图书管理系统的流程,并提供相应的流程图说明。
读者可以通过本文档了解图书管理系统的功能和操作流程,从而更好地使用该系统。
二、系统概述图书管理系统是一个综合性的管理平台,主要包括图书馆资源管理、读者管理、图书借阅归还、图书采购等功能。
系统通过信息化技术,提高图书管理的效率和准确性,为读者提供便捷的图书借阅服务。
以下是系统的主要流程。
三、图书馆资源管理流程1、图书采购流程a:馆藏需求确认b:采购申请c:采购审批d:供应商选择e:图书订购f:图书入库2、图书编目流程a:图书验收b:图书入库c:图书信息录入d:图书条码e:图书分类3、图书馆资源管理a:图书查询b:图书分类查看c:图书状态管理d:图书移库e:图书借阅历史查看四、读者管理流程1、注册流程a:填写个人信息b:提交注册申请c:注册审核d:借阅证2、登录流程a:输入账号密码b:账号密码验证c:登录成功3、个人信息管理a:个人信息查看b:个人信息修改c:密码修改五、图书借阅流程1、图书查询a:搜索关键字b:图书查询结果展示2、图书借阅a:图书选择b:借阅申请c:借阅审批d:借阅成功3、图书归还a:归还申请b:图书归还审批 c:归还成功六、图书预约流程1、图书预约a:图书查询b:图书预约申请 c:预约成功2、图书预约取消a:预约记录查看 b:取消预约申请 c:取消预约成功七、图书续借流程1、续借申请a:借阅记录查看b:选择要续借的图书c:续借申请d:续借成功2、续借记录查看八、附件本文档附带以下附件:1、图书管理系统流程图:图示每个流程的具体步骤和流转关系。
九、法律名词及注释1、馆藏需求确认:指根据图书馆对各类图书资源的需求进行确认和组织的工作。
2、采购申请:指图书馆向相关部门或供应商提交采购图书的申请。
3、采购审批:指依据图书馆的采购政策和流程对采购申请进行审查和批准的过程。
图书管理系统工作总结8篇第1篇示例:图书管理系统是一种能够帮助图书馆、书店等机构管理图书馆藏的信息系统。
在过去的一段时间里,我有幸参与了图书管理系统的运营与管理工作,积累了许多宝贵的经验。
在此,我将对这段工作进行总结,希望能够给以后的工作带来一些启示。
在图书管理系统的日常运营中,我认识到了信息化管理的重要性。
通过系统的建立与维护,我们能够方便地查询图书的信息,了解每一本书的借阅情况以及流通情况。
系统还可以帮助我们统计数据、生成报表,帮助管理者更好地了解图书馆的运营状况。
在以后的工作中,我们应该继续加强对图书管理系统的维护,让其能够更好地服务我们的工作。
我还发现了图书管理系统在提高工作效率方面的巨大作用。
通过系统的帮助,我们能够更快速、更准确地处理图书的借还、归还等流程,大大节省了工作时间。
而且,系统还能够帮助我们自动提醒图书的到期归还时间,避免了因忘记归还而产生的问题。
在日后的工作中,我们应该继续发挥图书管理系统的优势,提高工作效率,为读者提供更好的服务。
我在图书管理系统的工作中也学习到了团队合作的重要性。
在系统的建设和维护过程中,需要多个部门的协作,需要各个人员的密切配合。
只有团队齐心协力,才能够顺利完成图书管理系统的建设与运营工作。
在以后的工作中,我们应该加强团队协作,加强沟通与合作,共同努力,实现图书管理系统工作的最佳效果。
通过这段时间的图书管理系统工作,我不仅学到了许多专业知识,还提高了自己的团队合作能力和工作效率。
希望在以后的工作中,能够继续积累经验,不断提升自己,为图书管理系统的运营与发展贡献自己的力量。
【以上内容仅为泛指,如有雷同纯属巧合】。
第2篇示例:图书管理系统工作总结近年来,图书管理系统在图书馆、学校等场所的应用日益普及,成为图书管理和借阅服务的重要工具。
作为图书管理系统的管理员,我在工作中不断总结经验,提高工作效率,为读者提供更好的服务,以下是我对图书管理系统工作的总结和反思。
1、问题描述:对一个有N本书籍的图书馆进行计算机管理,通过该系统实现对该图书图的基本功能的管理,包括:增加新书、借书、还书、查询书籍等操作。
2、功能要求:1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:书号、书名、作者姓名、借书证号、借还标志、借还书日期等。
2)本系统显示这样的菜单:请选择系统功能项:a. 增加新书b. 书籍查询(1) 按书号查询(2) 按书名查询(3) 按作者查询c. 借还书(1)借书(2)还书d. 退出系统3)执行一个具体的功能之后,程序将重新显示菜单。
也可以通过判断“借书日期”的内容是否为’\0’来确定该书是否借出。
3、算法提示:1、数据结构:结构体类型数组2、数据库结构:该系统的基本数据库如下:书号书名作者姓名借书证号借书日期Char char char Char char4、测试数据:图书数N=5高级语言程序设计(2)课程设计???一程序设计说明书【设计题目】图书馆借阅管理【问题描述】图书馆,适合用C++面向对象的功能来描述。
图书馆管理系统分为借书、还书、图书管理和读者服务等四个部分。
设计一个读者类Reader,记录每个读者基本信息;读者库类Rdatabase,记录所有读者信息;图书类Book, 记录每本书的基本信息;图书库类Bdatabase, 记录所有图书信息。
【基本要求】1读者库类RDatabase中,其构造函数中,将read.txt文件中所有读入读者记录rede[]中。
处理完毕,在析构函数中将read[]中的所有未删记录写入到read.txt中。
2图书库类BDatabase中,其构造函数中,将book.txt文件中所有读入图书记录book[]中。
处理完毕,在析构函数中将book[]中的所有未删记录写入到book.txt中。
3 利用构造函数完成读者和图书数据初始化,完成内存分配。
程序结束前,析构函数完成所申请的堆内存空间。
4 编写主函数,对所编写的矩阵类进行全面测试。
要求用户界面采用菜单方式。
测试中需要读者和图书数据通过I/O流从磁盘文件读入,同时显示在屏幕上。
得到的数据通过I/O流写入磁盘文件保存,同时显示在屏幕上。
5 源程序中要有充分的注释,报告中要有详细的流程图和文字材料。
【类的设计】该程序包含了四个类,如下:1.Reader类,有读者的基本管理功能,具有以下私有数据:int tag;//删除标记 1:已删;0:未删int no;//读者编号char name[10];//读者姓名int borbook[Maxbor];//所借图书2.读者库类Rdatabase, 具有以下私有数据:int top;//读者记录指针Reader read[Maxr];//读者记录3.图书库类Book,有一本图书的基本功能,有以下私有数据:int tag;//删除标记 1:已删;0:未删int no;//图书编号char name[20];//书名int onshelf;//是否在架 1在架 0已借4.图书库类BDatabase,有以下私有数据:int top;//图书记录指针Book book[Maxb];//图书记录【特殊函数的设计说明】构造函数1.Reader类中构造函数Reader(),初始化函数;2.读者库类RDatabase中,其构造函数Rdatabase(),将read.txt文件中所有读入读者记录rede[]中。
3.Book类中构造函数Book(),初始化函数;4.图书库类BDatabase中,其构造函数中,将book.txt文件中所有读入图书记录book[]中。
?拷贝构造函数Reader类中的拷贝构造函数将getname()的返回值读者姓名拷贝到setname()中,Book类中的拷贝构造函数将getname()函数的返回值图书名拷贝到图书名设置函数setname()中。
?析构函数1.读者库类RDatabase中,其析构函数~Rdatabase(),将read[]中的所有未删记录写入到read.txt中;2.图书库类BDatabase中,其析构函数~Bdatabase(),将book[]中的所有未删记录写入到book.txt中。
?运算符重载重载了“=”,当比较读者编号和图书编号时,重载;重载位运算符“〈〈”和“〉〉”等。
?【主要函数算法流程图】?【程序的使用方法】1.进入操作页面,按提示操作;2.首先,新增图书和读者信息,之后就可以对以存在的信息进行操作;3.操作当中,可以随时增加,更改和删除图书或读者信息;4.当选择退出时,进行清屏。
?二程序上机调试报告【语法错误及其排除】1.在敲程序时,有很多拼写错误,例好多处把Readdata()误打Readdate();结束的分号,在不同的输入法状态下输入,这些小错误刚开始很难发现,不过有了经验,就很容易了。
2.创建新的构造函数时,使用出现了错误。
重载构造函数要注意函数的访问权限,结果就不会出现错误。
【算法错误及其排除】1.读者类中借书操作函数中,采用循环语句时判断读者已借图书量时for(int i=0;i<Maxbor;i++)误写为for(int i=1;i<Maxbor;i++),使循环发生错误。
2.指针使用错误,指针b和r混淆,导致编译错误得到“error C2660: 'retbook' : function does not take 1 parameters”错误报告。
三程序测试结果【收获及体会】除了课堂外,课程设计是最能学到东西的,最考验人的。
在做课程设计这段时间,时刻都感觉自己有好多不懂,要学的太多了!经过这次课程设计,让我对C++这门语言有了更深的认识,操作能力有了提高。
要想得到敲的代码运行出来后的满足感,需要耐心细心,毅力以及充沛的体力。
只有经过多次编辑,多次编译,再多次运行,才能编写出更好的程序,有时候需要多次的更正才达到所要的运行结果。
学习编程,需要多揣摩,实践,实践,再实践,编程技能才能更上一层楼,此外还得多向高手请教!【源程序代码】//********************//图书馆借阅管理//班级://学号://姓名://********************#include<iostream.h>#include<iomanip.h>#include<string.h>#include<fstream.h>const int Maxr=1000;//最多的读者const int Maxb=10000;//最多的图书const int Maxbor=8;//每位读者最多借8本书class Reader //读者类{int tag;//删除标记 1已删;0未删int no;//读者编号char name[10];//读者姓名int borbook[Maxbor];//所借图书public :Reader(){}//构造函数char *getname(){return name;}//获取读者姓名int gettag(){return tag;}//获取删除标记int getno(){return no;}//获取读者编号void setname(char na[])//设置读者姓名{strcpy(name,na);}void delbook(){tag=1;}//设置删除标记void addreader(int n,char *na)//增加读者{tag=0;no=n;strcpy(name,na);for(int i=0;i<Maxbor;i++)borbook[i]=0;}void borrowbook(int bookid)//借书操作{for(int i=0;i<Maxbor;i++){if(borbook[i]==0){borbook[i]=bookid;}}}int retbook(int bookid)//还书操作{for(int i=0;i<Maxbor;i++){if (borbook[i]==bookid){borbook[i]=0;return 1;}}return 0;}void disp()//输出读者信息{cout<<setw(5)<<no<<setw(10)<<name<<"借书编号:";for(int i=0;i,Maxbor;i++)if(borbook[i]!=0)cout<<borbook[i]<<endl;}};?class RDatabase//读者库类{int top;//读者记录指针Reader read[Maxr];//读者记录public:RDatabase()//构造函数,将reader.txt读到read[]中{Reader s;top=-1;fstream file("reader.txt",ios::in);while(1){file.read((char*)&s,sizeof(s));if(!file)break;top++;read[top]=s;}file.close();}void clear()//删除所有读者信息{top=-1;}int addreader(int n,char *na)//添加读者,检查是否已存在{Reader *p=query(n);if(p==NULL){top++;read[top].addreader(n,na);return 1;}return 0;}Reader*query(int readerid)//按编号查找{for(int i=0;i<=top;i++)if(read[i].getno()==readerid&&read[i].gettag==0)return &read[i];return NULL;}void disp()//删除读者所有信息{for(int i=0;i<=top;i++)read[i].disp();}void readerdata();//读者库维护~RDatabase()//析构函数,将read[]写入reader.txt文件中{fstream file("reader.txt",ios::out);for(int i=0;i<=top;i++)if(read[i].gettag()==0)file.write((char*)&read[i],sizeof(read[i]));file.close();}};void RDatabase::readerdata(){int choice=1;char rname[20];int readerid;Reader*r;while(choice!=0){cout<<"读者服务 1新增 2更该 3删除 4查找 5显示 6全删 0退出"<<endl; cin>>choice;switch(choice){case 1:cout<<"请输入读者编号:";cin>>readerid;cout<<"读入读者姓名:";cin>>rname;addreader(readerid,rname);break;case 2:cout<<"请输入读者编号:";cin>>readerid;r=query(readerid);if(r==NULL){cout<<"读者不存在"<<endl;break;}cout<<"请输入新读者姓名:";cin>>rname;r->setname(rname);break;case 3:cout<<"请输入读者编号:";cin>>readerid;r=query(readerid);if(r==NULL){cout<<"读者不存在"<<endl;break;}r->delbook();break;case 4:cout<<"请输入读者编号:";cin>>readerid;r=query(readerid);if(r==NULL){cout<<"该读者编号不存在"<<endl; break;}case 5:disp();break;case 6:clear();break;}}}?class Book//图书类{int tag;//删除标记 1:已删;0:未删int no;//图书编号char name[20];//书名int onshelf;//是否在架 1在架 0已借public:Book(){}char*getname(){return name;}//获取读者姓名int getno(){return no;}//获取图书编号int gettag(){return tag;}//获取删除标记void setname(char na[])//设置书名{strcpy(name,na);}void delbook(){tag=1;}//删除图书void addbook(int n,char*na)//增加图书{tag=0;no=n;strcpy(name,na);onshelf=1;}int borrowbook()//借书操作{if(onshelf==1){onshelf=0;return 1;}return 0;}void retbook()//还书操作{onshelf=1;}void disp()//输出图书{cout<<setw(6)<<no<<setw(18)<<name<<setw(10)<<(onshelf==1?"在架":"已借")<<endl; }};?class BDatabase//图书库类{int top;//图书记录指针Book book[Maxb];//图书记录public:BDatabase()//构造函数,将book.txt读到book[]中{Book b;top=-1;fstream file("book.txt",ios::in);while(1){file.read((char*)&b,sizeof(b));if(!file)break;top++;book[top]=b;}file.close();}void clear()//全删{top=-1;}int addbook(int n,char*na)//增加图书{Book*p=query(n);if(p==NULL){top++;book[top].addbook(n,na);return 1;}cout<<"新增成功!"<<endl;}Book*query(int bookid)//查找图书{for(int i=0;i<=top;i++)if(book[i].getno()==bookid&&book[i].gettag()==0) return NULL;}void bookdata();//图书库维护void disp(){for(int i=0;i<=top;i++)if(book[i].gettag()==0)book[i].disp();}~BDatabase()//析构函数,将book[]写入book.txt文件中{fstream file("book.txt",ios::out);for (int i=0;i<=top;i++)if(book[i].gettag()==0)file.write((char*)&book[i],sizeof(book[i]));file.close();}};void BDatabase::bookdata(){int choice;char bname[40];int bookid;Book *b;while(choice!=0){cout<<"图书管理 1新增 2更该 3删除 4查找 5显示 6全删 0退出"<<endl; cin>>choice;switch(choice){case 1:cout<<"输入图书编号:";cin>>bookid;cout<<"输入图书书名:";cin>>bname;addbook(bookid,bname);break;case 2:cout<<"输入图书编号:";cin>>bookid;b=query(bookid);if(b==NULL){cout<<"该图书不存在"<<endl;break;}cout<<"输入新书名:";cin>>bname;b->setname(bname);cout<<"更名成功!"<<endl;break;case 3:cout<<"输入图书编号:";cin>>bookid;b=query(bookid);if(b==NULL){cout<<"该图书不存在!"<<endl;break;}b->delbook();break;case 4:cout<<"请输入图书编号:"; cin>>bookid;b=query(bookid);if(b==NULL){cout<<"该书不存在!"<<endl; break;}b->disp();break;case 5:disp();break;case 6:clear();break;}}}?void main(){int choice=1,bookid,readerid; RDatabase ReaderDB;Reader *r;BDatabase BookDB;Book *b;while(choice!=0){cout<<" 1借书????? "<<endl; cout<<" 2还书????? "<<endl; cout<<" 3图书维护? "<<endl; cout<<" 4读者维护? "<<endl; cout<<" 0离开????? "<<endl; cin>>choice;switch(choice){case 1:cout<<"借书,请输入读者编号:"; cin>>readerid;cout<<"图书编号:";cin>>bookid;r=ReaderDB.query(readerid);if(r==NULL){cout<<"哈哈,借书成功!"; break;}b=BookDB.query(bookid);if(b==NULL){cout<<"不存在该书!"<<endl; break;}if(b->borrowbook()==0){cout<<"该书已借"<<endl;break;}r->borrowbook(b->getno()); break;cout<<"借书成功!"<<endl;case 2:cout<<"还书,请输入读者编号:"; cin>>readerid;cout<<"请输入图书编号;"; cin>>bookid;r=ReaderDB.query(readerid);if(r==NULL){cout<<"不存在该读者!"<<endl; break;}b->retbook();r->retbook(b->getno());break;cout<<"还书成功!"<<endl;case 3:BookDB.bookdata();break;case 4:ReaderDB.readerdata();break;}}}【输出结果】1借书2还书3图书管理4读者服务0退出3图书管理 1新增 2更该 3删除 4查找 5显示 6全删 0退出1输入图书编号:1111输入图书书名:武林外传新增成功!图书管理 1新增 2更该 3删除 4查找 5显示 6全删 0退出1输入图书编号:2222输入图书书名:今夜无眠新增成功!图书管理 1新增 2更该 3删除 4查找 5显示 6全删 0退出01借书2还书3图书管理4读者服务0退出4读者服务 1新增 2更该 3删除 4查找 5显示 6全删 0退出1请输入读者编号:001读入读者姓名:周强读者服务 1新增 2更该 3删除 4查找 5显示 6全删 0退出01借书2还书3图书管理4读者服务0退出1借书,请输入读者编号:001图书编号:1111哈哈,借书成功! 1借书2还书3图书管理4读者服务0退出2还书,请输入读者编号:001请输入图书编号;1111还书成功!1借书2还书3图书管理4读者服务0退出3图书管理 1新增 2更该 3删除 4查找 5显示 6全删 0退出2输入图书编号:2222输入新书名:金庸全集更名成功!Press any key to continue。