数据结构课程设计-图书借阅管理系统.doc

上传人:自*** 文档编号:124911502 上传时间:2020-03-14 格式:DOC 页数:18 大小:218.50KB
返回 下载 相关 举报
数据结构课程设计-图书借阅管理系统.doc_第1页
第1页 / 共18页
数据结构课程设计-图书借阅管理系统.doc_第2页
第2页 / 共18页
数据结构课程设计-图书借阅管理系统.doc_第3页
第3页 / 共18页
数据结构课程设计-图书借阅管理系统.doc_第4页
第4页 / 共18页
数据结构课程设计-图书借阅管理系统.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《数据结构课程设计-图书借阅管理系统.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计-图书借阅管理系统.doc(18页珍藏版)》请在金锄头文库上搜索。

1、图书馆管理系统目 录一、问题描述 :二、系统需求分析:1 功能要求 :2 技术要求 :3 方案分析 :三、概要设计:四、详细设计与程序代码:五、运行结果与测试:六、设计体会与总结一、问题描述 图书借阅管理系统是一个学校不可缺少的部分,它的内容对于学校的管理者和读者来说都至关重要,直接关系到图书的借用率,所以开发图书管理系统能够为管理员和读者提供充足的信息和快捷的查询手段。 编写程序系统主要实现图书馆的增加图书、查询图书、删除图书、借阅图书、还书;增加会员、查询会员、删除会员、借书信息、到期书催还等智能化管理过程。图书管理者只需略懂电脑知识就可以简易的操作该图书借阅管理系统。 二、 系统需求分析

2、 图书借阅管理系统主要分为两大功能: (1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书到期书催还); (2)会员管理(增加会员、查询会员、删除会员、借书信息); 要完成这个题目,主要是建立解决图书和会员的信息的存储,解决的方法是建立两个带头结点的单链表,分别用于存储图书和会员。解决了这个问题后就是如何建立这两个链表的联系了,解决的方法是在图书结点中设一个借书人编号,在会员结点中设一个数组用于存会员借的书。解决了这两个问题,剩下的工作就简单了。只需按链表的操作就可以了。 1功能要求 在图书借阅管理程序中须实现以下功能: (1)图书修改功能:能对图书借阅系统存储的信息进行修改。提供两种

3、修改方式,如按照图书编号修改、按照书名修改。图书编号是图书记录的自然顺序编号。 (2)图书删除功能:能对图书借阅系统的图书信息进行删除。删除时以记录为单位,能一次删除一条记录。 (3)借书功能:能对借出的图书作记录信息,能一次借出一本图书。 (4)还书功能:能将被借出的图书信息还原,能一次借出一本图书。 (5)保存功能:能将记录保存在任何自定义的文件中,如保存在:c:books 、c:lenders。 (6)通信录管理结束后,能够正常退出图书借阅管理程序。 2技术要求 (1)每个借阅者记录至少包括如下信息:姓名、学号、姓别等。每本图书记录至少包括如下信息:编号、书名、作者、价格等。 (2)图书

4、、借阅者信息以磁盘文件的形式存储,存储位置、文件名、文件格式由设计者确定。 (3)对于图书借阅系统功能中数据输入、显示、查询、修改、删除、保存等功能,要求编写功能独立的函数或主控函数予以实现,其所属的各项功能尽量由独立的函数实现。 (4)以菜单方式实现功能选择控制。 (5)本图书借阅管理程序能够实现100条记录的管理。 3 方案分析 此题是设计一个图书借阅管理系统,根据需要应包含图书管理和会员管理。其中对图书和会员的增加、查询和删除都是基本操作。在图书管理中对图书的借阅和归还是重点,这两个操作也是整个系统关键。在会员管理中增加了会员借书信息的查询和对到期书的催还信息。实现这些操作的关键在于建立

5、的两个带头结点的单链,分别用于存储图书和会员的基本信息。在这两个链表之间还应建立起相互的联系,便于查询的操作的实现。另外,在美观方面,需要设计一个操作界面供用户选择使用。 三、概要设计登陆系统新书入库借书还书修改用户信息删除图书删除用户信息添加用户信息查询修改图书管理员用户用户信息修改操作员信息添加操作员信息删除操作员信息查询操作员信息操作员信息图书信息借出信息查询用户信息通过需求分析,设计出本程序的总体功能设计框图。分为七个方面:1、选择检查类型;2、编辑图书的信息;3、查询图书的信息;4、编辑读者的信息;5、查询读者的信息;6、借阅书刊;7、还书。连线之间说明了他们之间的相互联系以及设计时

6、的要求。 4.2.2图书管理系统简略功能框图 图书管理系统登陆模块图书馆管理员模块图书借阅/归还模块图书管理模块图书查询模块用户登陆管理员登陆超期提示新书入库操作员登陆添加操作员删除操作员修改操作员查询操作员读者借阅信息读者归还信息管理员登陆管理员登陆查询图书信息删除图书信息修改图书信息五、详细设计与程序代码:#include#include#include#define NULL 0typedef struct BookInfo /图书结构 int b_Code; /图书编号 char b_Name20; /名称 int b_Total; /总数 int b_Out; /借出数 BookIn

7、fo* nextbook; /下一类图书BookInfo;typedef struct MemberInfo /会员结构 long m_Code; /会员编号 char m_Name20; /会员名字 int l_Codes6; /以借书的编号,最多5 MemberInfo* nextmember; /下一会员MemberInfo;typedef struct System /管理系统结构 BookInfo* BI; MemberInfo* MI; int BookTotal; /图书类库存量 int MemberTota; /会员数量System;System* InitSystem();/

8、void AddBook(System*);/增加图书BookInfo* SearchBook(System*,int);/查询图书信息void DelBook(System*);/删除图书void BrrowBook(System*);/借书处理void TurnBackBook(System*);/还书处理void AddMember(System*);/添加会员void DelMember(System*);/删除会员MemberInfo* SearchMember(System*,int);/查询会员信息void StoreData(System*);void LoadData(Sys

9、tem*);void ExitSystem();void main() System* S=InitSystem(); int sel; do coutntttt图书管理系统endl; coutttt*endl; coutttt*endl; coutttt 1.增加图书.t 2.查询图书.nttt 3.删除图书.t 4.借书处理.nttt 5.还书处理.nttt 6.添加会员.t 7.删除会员.nttt 8.查询会员.t 9.载入数据.nttt10.保存数据.t11.退出程序.n; coutttt*endl; coutttt*endl; coutsel; if(sel=1&sel=11)bre

10、ak; cout选择错误!n重新输入:BI=(BookInfo*)malloc(sizeof(BookInfo); S-BookTotal=0; S-BI-nextbook=NULL; S-MI=(MemberInfo*)malloc(sizeof(MemberInfo); S-MemberTota=0; S-MI-nextmember=NULL; return S;void AddBook(System* S) int Tempcode; char sel; BookInfo* p=S-BI; BookInfo* t; BookInfo* m; int num; do coutTempcod

11、e; if(m=SearchBook(S,Tempcode) cout这类书以有库存.n输入图书的入库量:num; m-b_Total+=num; else t=(BookInfo*)malloc(sizeof(BookInfo); t-b_Code=Tempcode; coutt-b_Name; coutt-b_Total; t-b_Out=0; t-nextbook=p-nextbook; p-nextbook=t; S-BookTotal+; cout添加完毕!endl; coutsel; if(sel=n|sel=N) cout结束添加BI-nextbook; int bookcode; if(code=-1) coutbookcode; else bookcode=code; while(bi&bi-b_Code!=bookcode)bi=bi-nextbook; if(code=-1) if(!b

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 工业设计

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号