logo资料库

图书管理系统《数据结构课程设计报告》.doc

第1页 / 共56页
第2页 / 共56页
第3页 / 共56页
第4页 / 共56页
第5页 / 共56页
第6页 / 共56页
第7页 / 共56页
第8页 / 共56页
资料共56页,剩余部分请下载后查看
1、数据结构课程设计任务书
1.1、题目
图书馆管理系统
1.2、要求
2、总体设计
2.1、功能模块设计
2.2、所有功能模块的流程图
3、详细设计
3.1、程序中所采用的数据结构及存储结构的说明
3.2、算法的设计思想
3.3、对图书借阅时的选择与操作
4、调试与测试:
4.1、调试方法与步骤:
4.3、测试过程中遇到的主要问题及采取的解决措施:
5、时间复杂度的分析:
6、源程序清单和执行结果
7、C程序设计总结
8、致谢
9、参考文献
安徽省巢湖学院计算机与信息工程学院 课程设计报告 课程名称 《数据结构》 课题名称 图书管理系统 专 业 11 网络工程 班 级 1 班 学 号 11012042,11012045,11012030 姓 名 汪维宏, 王东良, 鲁自山 联系方式 指导教师 18226920220 武彬 20 12 年 6 月 23 日
目 录 1、数据结构课程设计任务书.............................................................................................. 1 1.1、题目..................................................................................................................... 1 1.2、要求..................................................................................................................... 1 2、总体设计....................................................................................................................... 1 2.1、功能模块设计 .......................................................................................................1 2.2、所有功能模块的流程图........................................................................................ 1 3、详细设计....................................................................................................................... 3 3.1、程序中所采用的数据结构及存储结构的说明 ........................................................ 3 3.2、算法的设计思想................................................................................................... 4 3.3、对图书借阅时的选择与操作................................................................................. 4 4、调试与测试: ................................................................................................................ 4 4.1、调试方法与步骤: ................................................................................................4 4.2、测试结果的分析与讨论: ............................................................ 错误!未定义书签。 4.3、测试过程中遇到的主要问题及采取的解决措施: ............................................. 11 5、时间复杂度的分析:..................................................................................................11 6、源程序清单和执行结果.............................................................................................. 12 7、C 程序设计总结 .........................................................................................................54 8、致谢...........................................................................................................................54 9、参考文献....................................................................................................................54
1、数据结构课程设计任务书 1.1、题目 图书馆管理系统 1.2、要求 【设计要求】对图书进行管理,系统具有如下功能 1.图书入库:新购一种书,确定书号后,登记到图书目录表中,如果表中已有,则只 将库存量增加;图书数据包括图书书号,书名,作者,数量,单价等; 2.排序:以书号按升序进行排序(可以任选一种排序方法); 3.查找:能按书名、书号进行查找(分别用顺序查找和折半查找方法); 4.删除:从表中删除指定的图书; 5.借阅:如果一种书的现存量大于 0,则借出一本,登记借阅者的书证号和归还期限, 改变现存量; 6.归还:注销对借阅者的登记,改变该书的现存量。 2、总体设计 2.1、功能模块设计 根据课程设计题目的功能要求,各个功能模块的组成框图如下: 功能选择界面 1.新书入库 2.图书排序 3.查找信息 4.删除图书信息 5.借阅图书 6.归还图书 7.更改字体颜色 0.退出 输 入 新 书 信 息 按 学 号 升 序 排 序 按 书 名 查 找 按 书 号 查 找 按 书 名 查 找 删 除 按 书 号 查 找 删 除 输 入 书 证 号 进 入 注 册 借 阅 者 信 息 归 还 全 部 图 书 归 还 其 中 一 本 图 书 选 择 显 示 字 体 颜 色 第 1 页
2.2、所有功能模块的流程图 进入系统主界面 键盘输入给choi ce赋值 判断choi ce的值 choi ce等于1、2、3、4、5、6、7以外的数 choi ce=1 choi ce=2 choi ce=3 choi ce=4 choi ce=5 choi ce=6 choi ce=7 1. 新书入库 2. 图书排序 3. 查找信息 4. 删除图书信息 5. 借阅图书 6. 归还图书 7. 更改字体颜色 键盘输入给choi ce7赋值 键盘输入给choi ce4赋值 输入书号证 键盘输入给choi ce3赋值 键盘输入给choi ce5赋值 no 判断choi ce3的值 判断choi ce4的值 判断书证号是否存在 判断choi ce5的值 yes 选 择 显 示 字 体 颜 色 键盘输入书名 判断书名是否存在 yes no 书 名 存 在 , 将 其 数 量 加 一 输 入 新 书 信 息 yes 判断是否继续输入 no yes 输 出 图 书 信 息 图 书 书 号 升 序 排 序 choi ce3=1 choi ce4=1 choi ce5=1 choi ce3=2 choi ce4=2 输入书名 输入书名 choi ce5=4 输入书号 输入书号 输入书号证 no 判断书名是否存在 判断书名是否存在 判断书证号是否存在 注 册 书 证 号 判断书号是否存在 判断书号是否存在 no yes yes 输入书号证 yes yes 归 还 所 有 图 书 no 归 还 其 中 一 本 图 书 输入书名 输 出 图 书 信 息 删 除 该 图 书 信 息 退出系统 no 输入书名 判断书证号是否存在 no 注 册 成 功 no 判断书名是否存在 yes 借 阅 图 书 判断书名是否存在 yes 删 除 借 阅 该 书 信 息 第 2 页
3、详细设计 模块功能说明:如函数功能、入口及出口参数说明,函数调用关系描述等; 3.1、程序中所采用的数据结构及存储结构的说明 typedef struct { int year; int month; int day; //年 //月 //日 }DATE; struct readbook { char studentTitle[30]; DATE loanDate; DATE revertDate; //借出的书名 //借出日期 //归还日期 }; union readState { char Nobook[20]; struct readbook data; //定义没有借书 //存储已借图书信息 }; typedef struct borrower { //借阅者 //书证号 char studentID[10]; char studentName[10]; //姓名 union readState ReadBook[5]; int bookcount; struct borrower *next; }Borrower, *LinkBorrower; //已借图书数量 //借书状况 typedef struct book //图书 { //书号 //书名 char number[20]; char title[30]; char author[20]; char translator[20]; int count; char price[10]; DATE date; struct book *next; //作者 //译者 //现存量 //价格 //入库日期 }Book, * LinkBook; 第 3 页
3.2、算法的设计思想 1.图书入库 新购一种书,确定书号后,登记到图书目录表中,如果表中已有,则只将库存量增加; 图书数据包括图书书号,书名,作者,数量,单价等; 2.排序 以书号按升序进行排序(可以任选一种排序方法); 3.查找 能按书名、书号进行查找(分别用顺序查找和折半查找方法); 4.删除 从表中删除指定的图书; 5.借阅 如果一种书的现存量大于 0,则借出一本,登记借阅者的书证号和归还期限,改变现存 量; 6.归还 注销对借阅者的登记,改变该书的现存量。 3.3、对图书借阅时的选择与操作 a)注册 定义一个共用体,没有借书和借书共用一个内存,注册时自动在共用体中赋值没有借书 b)借阅 输入书证号,若正确,进行借阅,共用体对借阅的书籍进行赋值,覆盖没有借书 4、调试与测试: 4.1、调试方法与步骤: 第一步:测试新书入库: 输入书名: 1. 若书名存在: 第 4 页
2. 若书名不存在,输入相关信息 第二步:测试图书排序: 图书按书号升序排序 第 5 页
第三步:测试查找信息功能: 第四步:测试删除图书信息功能: 第 6 页
分享到:
收藏