电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

68页
  • 卖家[上传人]:第***
  • 文档编号:54911136
  • 上传时间:2018-09-21
  • 文档格式:DOC
  • 文档大小:2.66MB
  • / 68 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、目录1、需求分析32、系统总框图33、每个模块的设计分析44、列出所有定义的函数及说明75、比较有特色的算法206、存在的问题与不足及对策277、使用说明298、程序源代码341需求分析以往,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较繁琐。在借 书时,读者首先将要借的书好借阅证交给工作人员,然后工作人员将每本书的信息卡片好 读者的借阅证放在一个小格栏里,最后在借阅证和每本书贴的借阅条上填写借阅信息。在 还书时,读者首先将要还的书交给工作人员,然后工作人员根据图书信息找到相应的书卡 好借阅证,并填写相应的还书信息。 南京航空航天大学的图书馆有许多书,如果靠人工的方式来进行管理,那么工作量会 非常大。图书的统计和管理会成为让人头疼的问题,读者借阅图书进行登记也会十分的不 方便。这时,利用计算机来为我们进行这些统计管理的工作,可以给我们的生活带来大大 的便利,并且提高工作效率。 由于条件有限,只能使用键盘输入书的信息,所以在输入图书的 ISBN 号时有些麻烦。 所以在课设里,简化了 ISBN 号,没有输入书本的真实 ISBN 号。在现实生活中,采用扫 描的方式录入 ISBN

      2、号会更加准确,高效。2系统总框图读者注册查找图书管理员登陆帮助退出系统读者中心修改密码注销帐户查看借书情况借还图书返回菜单书单信息中心添加新书删除图书清空全部修改图书显示全部返回菜单查找菜单按 ISBN 号按书名按出版商按作者关键字搜索显示所有返回菜单可选择保存,也可不保存图书管理系统读者登陆打开 文本 文件, 读取 提示 信息注册 后返 回主 菜单3每个模块的设计分析(1)主界面模块主界面模块当进入该管理系统时候,提示相应的说明,够让使用者了解该如何进行操作。同时还要具 有美观性。 用户通过键盘输入选择,程序通过检测输入内容进行比对,调用不同的函数,从而实现不 同的功能。并且,在输入错误数据时程序不会崩溃。(2)读者注册模块读者注册模块新用户使用该管理系统时,可以通过注册获得一个属于自己的账号。注册模块要引导读者 完成一步步的注册步骤,并且在最后把注册所得账号告知读者。 在注册时,用了避免用户输错设定的密码,所以采用了输入两次的方式。如果两次输入的 结果是一致的,那么就完成账号的注册。如果两次输的密码不一致,则用户需要重新输入 设定的密码。这样的方式可以保证每一次的注册都是有效的,避

      3、免了用户因为输入错误, 无法找回自己的密码。(3)读者中心模块读者中心模块读者登陆成功之后才可以进入该模块。 在该模块,读者可以进行密码重置,注销,查看借书情况,借书,还书。并且也设有返回 菜单功能。 注销帐户时,要考虑到删去该读者节点之后不能影响到整个链表的连续性。 所有函数均封装在 ReaderList 类中,信息存储在 Reade 类 r 中,ReaderList 类中定义了三个 个 Reader*指针,一个是 head_point, 作为链表的头结点;一个是 tail_point,作为链表的尾 指针;另一个是 point,作为活动指针,在不同的类的成员函数中都可使用。为了防止该活 动指针使用过频,造成几个函数同时使用同一个指针指向不明,在有些函数里还定义了一 些临时指针。(4)借书还书模块借书还书模块 读者在登录之后才可以进行借书,还书。借还书函数会分别调用读者链表和书单链表中的 借还书函数,并且在调用这些函数之前会先进行借还书检查。比如,你不能还你没有借过 的书,也不能超过限定数目借书。用户需先登录,借还时要输入 ISBN 号。 以借书为例。 借书操作调用的直接函数为: in

      4、t 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 的时候才会进行借书操作,防止了在书类链表中借了书却在读者类链表中 没有借书的情况,实现了

      5、两个链表借书的同步性。 因为添加图书时会保证 ISBN 号的唯一性,如果有 ISBN 号相同的图书则不会成功添加到 书类链表。借书函数都是通过 ISBN 号查找图书的,所以借书时不会有借错书的情况。(5)查找图书模块查找图书模块用户不需要登陆就可以使用该模块。 用户可以通过 ISBN 号,书名,出版社,作者对图书进行精确的查找。 同时,为了提高用户的使用质量,增加了输入关键字搜索功能。输入查找信息后,程序会 对图书的 ISBN 号,书名,出版社以及作者等信息进行比对,并且显示所有满足搜索条件的 结果。这样,读者在搜索时的自由度就增加了。 关键字搜索函数是通过 string 类中自带的 find()函数实现的,所以减小了工作量。 增加了显示全部图书的功能,便于满足用户需求。 增加了返回主菜单的功能,提高了程序的连续操作性。(6)管理图书模块管理图书模块要输入管理员密码以后才可以进入图书管理菜单。为了安全性,管理员在登录之后可以选 择修改自己的密码。并且,这个密码在退出系统时可以保存下来,下一次打开程序时的密 码就会使修改后的密码了。书单信息菜单里,可以对图书进行添加,删除,清空,修改,显

      6、示所有。都是分别调用了 BookList 类中的函数,对整个书单链表进行了一系列操作。 在修改时会进入图书修改菜单在搜索书的 ISBN 号之后会返回该本书的指针,对该本书的信息进行一系列修改,并且也 可以返回上级书库信息菜单。(7)读取保存信息模块读取保存信息模块信息的读取和保存分为三大部分,读者信息,书单信息,管理员信息的保存。而这三个部 分的信息又分别由六个函数负责读取和保存。在保存文件里,链表中的信息会依次存入 txt 文件。在读取时,会先将信息存入一个类的数组里,然后将类的数组依次存入链表里。 系统在打开时会自动从文件里面读取上次存储的信息,在退出系统时可以选择保存或不保 存本次操作的结果。如果要保存,则会将操作后的链表存入文件,刷新数据。总的来说,程序的各个菜单都有比较清晰的结构,也都有返回上级菜单的功能。基本上所 有的函数都考虑到了读者输入错误数据的情况,并且能够进行一定的处理,具有较强的健 壮性,不容易崩溃。4列出所有定义的函数及说明 管理员类管理员类 中的函数中的函数#ifndef LIBRARIAN_H_INCLUDED #define LIBRARIAN_H_INC

      7、LUDED #include class Librarian private:string password;public:Librarian()password=“880128“;Librarian(string a)password=a;Librarian()password=“;void changePassword(string a)password=a;int changePassword()/重载修改密码函数coutchoice;if(choice=0)coutpassword;cout pass;if (pass = password)cout #include #include using namespace std; class BookList; class Book friend class BookList;friend void saveBooks(BookList*p); friend void readBooks(BookList*p); protected: string ISBN; string Kind; /图书分类 string BookName;

      8、 /书名 string Writer;/作者名 string Publisher;/出版商 int number; /单个书的本数 Book *next; /指向下一个节点的指针 public: Book(); Book(string isbn, string kind, string name, string writer, string publisher, int number);void copyBook(string isbn, string kind, string name, string writer, string publisher, int number);void copyBook(Book* p);void setISBN(string tem); void setKind(string tem); void setBookName(string tem); void setWriter(string tem); void setPublisher(string tem); void setNumber(int tem); void operator=(con

      9、st Book /运算符重载 void setBook();/重新设定该本书的所有信息 void displayBook();/展示一本书 virtual void Add_list(class Book *p)/把书加入链表next = p;p-next = NULL;virtual void AddNewBook()/添加新书并且设置它的信息next = new class Book;next-setBook();cout displayBook();virtual void show_all()/显示所有书system(“cls“);displayBook();while (next!= NULL)next-displayBook();next = next-next; ; #endif / BOOK_H_INCLUDED 书链表类书链表类 中的函数中的函数#ifndef BOOKLIST_H_INCLUDED #define BOOKLIST_H_INCLUDED #include #include #include“Book.h“ using namespace std; class ReaderList;class BookList; class Book; class BookList:public Book/书类的链表 private: class Book *head;/头指针 class Book *tail; /尾指针 class Book *node; /活动指针 static int N; public: friend ReaderList; friend void saveBooks(BookList*p);/保存图书到 txt 文件的函数 BookList(); BookList(); void Add_list(class Book *p);/把一本书加入图书链表 void AddNewB

      《图书馆管理系统c++课设报告(附源代码)》由会员第***分享,可在线阅读,更多相关《图书馆管理系统c++课设报告(附源代码)》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.