- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计模板
数 据 结 构 课 程 设 计
图书馆管理基本业务模拟
学 生 姓 名:
学 号:
指 导 教 师:
完 成 日 期:
目 录
1 设计任务书 3
1.1 题目与要求 3
1.2 设计知识点 3
1.3 输入输出分析 3
1.4 测试数据分析 3
2 概要设计 4
2.1 结构体类型及函数声明 4
2.2 主程序流程 5
2.3 模块流程说明 5
3 详细设计 8
3.1 数据类型实现 8
3.2 程序伪码 9
4 调试分析 17
4.1 问题分析与回顾 17
4.2 算法时空分析 18
4.3 算法改进 18
4.4 经验和体会 18
5 测试结果 19
参考文献(要求不少于10篇) 22
1 设计任务书
1.1 题目与要求
题目:编写程序实现图书馆管理业务的模拟。
要求:书的登记内容包括书号、书名、著作者、出版社、现存量和库存量。并且按书号建立索引表以提高索引效率。程序要能够实现一下功能:a.采编入库:新购一本书,确定书号后,则登记到图书账目中,如果表中以有,则只将库存增加。b.借阅:如果书的库存量大于0,则借出一本书,登记借阅者的借书证号和归还日期,改变现存量。C.归还:注销对借阅者的登记,改变书的现存量。
1.2 知识点
系统时间函数、系统调用库函数、索引表建立、文件、结构体、指针、链表、数组、循环语句、选择语句、输入输出控制、宏定义、自定义类型等。
1.3 输入输出分析
(1)普通输入
对于书籍内容登记及读者信息宜采用结构体进行存储,其中的具体单项信息则采用字符数组或整形变量直接存续,考虑到书籍及读者信息的具体内容,字符数组长度为20较为合适。
(2)对话式输入
为便于转换及比较,对话式输入采用字符数组进行存储.为保障程序的健壮性,同时限制对话式输入的格式,对于非法的会话式输入则提示用户操作失败的原因;此外为保障用户在任意一步回话操作中都能任意退出,在程序中设计一“特殊按键”,当输入时,则程序返回上一层。
(3)程序输出
对于书籍信息及读者借阅信息的显示,考虑到美观及直观的因素,则采用表格的形式进行显示;此外对于借书及还书过程中,为保障操作无误,则在用户选择后,对用户的操作进行输出,并请用户进行确认;在对话式输入中,对于非法输入,程序显示的提示信息采用下划线进行强调,以引起用户的注意。
1.4 测试数据分析
书籍登记入库操作中如果书籍登录号超过六位则应提示”格式错误”;如果书号或书名已存在,则应提示”书籍已存在”。如果操作正确,则提示“书籍已登记入库”。
在书刊检索中,如果书刊存在则应显示书籍信息,如果不存在则应提示“书籍不存在”。
在读者信息登记操作中,如果读者以存在,则应提示”读者已存在”.否则,提示“成功添加读者”。
在读者登录过程中,如果读者信息错误,则提示“用户名或密码错误”,否则登录操作。借书还书中的输出类似于检索中的提示。
2 概要设计
2.1 结构体类型及函数声明
(1)结构体
图书信息结构体类型 BOOK
读者信息结构体类型 READER
日期结构体类型 DATE
索引项结构体类型 IDXTYPE
索引表结构体类型 ISXLIST
(2)函数声明
int Info_show(BOOK *p,int n) //书籍信息显示函数
int BSave(BOOK *L) //书籍信息导出函数
int BLoad(BOOK *L) //书籍信息导入函数
int BOOK_SORT(BOOK *B,BOOK *P) //按照书号排序函数
int Store_in_lib(BOOK *B) //书籍登记入库函数
int RSave(READER *R) //读者信息导出函数
int RLoad(READER *R) //读者信息导入函数
READER* Search_r(READER *R,READER T) //查找读者函数
BOOK* Search_writer(BOOK *B) //按作者查找函数
BOOK* Search_name(BOOK *B,int n) //按书名查找函数
IDX_LIST* IDX_FORM(BOOK *B) //索引表生成函数
BOOK* Search_num(BOOK *B,int n) //按书号查找函数
int Search_menu(BOOK *B) //书籍检索菜单
int If
文档评论(0)