图书馆管理系统c课设报告(附源代码).doc

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图书馆管理系统c课设报告(附源代码)

目录 需求分析......................3 2、系统总框图....................3 3、每个模块的设计分析............4 4、列出所有定义的函数及说明......7 5、比较有特色的算法..............20 6、存在的问题与不足及对策........27 7、使用说明......................29 8、程序源代码....................34 需求分析 以往,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较繁琐。在借书时,读者首先将要借的书好借阅证交给工作人员,然后工作人员将每本书的信息卡片好读者的借阅证放在一个小格栏里,最后在借阅证和每本书贴的借阅条上填写借阅信息。在还书时,读者首先将要还的书交给工作人员,然后工作人员根据图书信息找到相应的书卡好借阅证,并填写相应的还书信息。 南京航空航天大学的图书馆有许多书,如果靠人工的方式来进行管理,那么工作量会非常大。图书的统计和管理会成为让人头疼的问题,读者借阅图书进行登记也会十分的不方便。这时,利用计算机来为我们进行这些统计管理的工作,可以给我们的生活带来大大的便利,并且提高工作效率。 由于条件有限,只能使用键盘输入书的信息,所以在输入图书的ISBN号时有些麻烦。所以在课设里,简化了ISBN号,没有输入书本的真实ISBN号。在现实生活中,采用扫描的方式录入ISBN号会更加准确,高效。 系统总框图 每个模块的设计分析 主界面模块 当进入该管理系统时候,提示相应的说明,够让使用者了解该如何进行操作。同时还要具有美观性。 用户通过键盘输入选择,程序通过检测输入内容进行比对,调用不同的函数,从而实现不同的功能。并且,在输入错误数据时程序不会崩溃。 读者注册模块 新用户使用该管理系统时,可以通过注册获得一个属于自己的账号。注册模块要引导读者完成一步步的注册步骤,并且在最后把注册所得账号告知读者。 在注册时,用了避免用户输错设定的密码,所以采用了输入两次的方式。如果两次输入的结果是一致的,那么就完成账号的注册。如果两次输的密码不一致,则用户需要重新输入设定的密码。这样的方式可以保证每一次的注册都是有效的,避免了用户因为输入错误,无法找回自己的密码。 读者中心模块 读者登陆成功之后才可以进入该模块。 在该模块,读者可以进行密码重置,注销,查看借书情况,借书,还书。并且也设有返回菜单功能。 注销帐户时,要考虑到删去该读者节点之后不能影响到整个链表的连续性。 所有函数均封装在ReaderList类中,信息存储在Reade类r中,ReaderList类中定义了三个个Reader*指针,一个是head_point, 作为链表的头结点;一个是tail_point,作为链表的尾指针;另一个是point,作为活动指针,在不同的类的成员函数中都可使用。为了防止该活动指针使用过频,造成几个函数同时使用同一个指针指向不明,在有些函数里还定义了一些临时指针。 借书还书模块 读者在登录之后才可以进行借书,还书。借还书函数会分别调用读者链表和书单链表中的借还书函数,并且在调用这些函数之前会先进行借还书检查。比如,你不能还你没有借过的书,也不能超过限定数目借书。用户需先登录,借还时要输入ISBN号。 以借书为例。 借书操作调用的直接函数为: int ReaderList::Borrow(BookList*g, Reader *p, string bookISBN); 它会调用四个函数来完成借书操作: bool BookList::Check_borrow_book(string ISBN_Of_Book) //Booklist中的借书检查 void BookList::borrow_book(string ISBN_Of_Book) //Booklist中的借书手续 bool ReaderList::Check_borrowBook(Reader*p, string BookISBN) //ReaderList中的借书检查 void ReaderList::borrowBook(Reader*p, string BookISBN) //ReaderList中的借书手续 在Booklist和ReaderList的类中都有借书检查和借书手续函数。 首先会调用借书检查函数,如果不满足借书条件则不会继续借书的操作。只有在两个借书检查都返回true的时候才会进行借书操作,防止了在书类链表中借了书却在读者类链表中没有借书的情况,实现了两个链表借书的同步性。 因为添加图书时会保证ISBN号的唯一性,如果有ISBN号相同的图书则不会成功添加到书类链表。借书函数都是通过ISBN号查找图书的,所以借书时不会有借错书

您可能关注的文档

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档