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

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

ID:51113216

大小:68.50 KB

页数:13页

时间:2020-03-18

数据结构课程设计_图书管理系统.doc_第1页
数据结构课程设计_图书管理系统.doc_第2页
数据结构课程设计_图书管理系统.doc_第3页
数据结构课程设计_图书管理系统.doc_第4页
数据结构课程设计_图书管理系统.doc_第5页
资源描述:

《数据结构课程设计_图书管理系统.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《数据结构》课程设计报告(图书管理系统)目录一.需求分析……………………………………………………….3二.概要设计……………………………………………………….3三.详细设计……………………………………………………….4四.调试分析……………………………………………………….6五.用户使用说明………………………………………………….6六.测试结果……………………………………………………….7七.附录:带注释的源代码……………………………………….8一.需求分析大学的图书馆藏书是非常庞大的,原始的人工借书也是非常麻烦的,因此用一种自动系统来管理图书是非常有必要的,所以设计一

2、个图书管理系统,要能够自如管理借书,还书,以及注册,注销书本,这样就能节省很多资源,提高效率。明确规定:1.每种书的登记内容包括书号、书名、著作者、现存量和库存量;2.对书号建立索引表(线性表)以提高查找效率;3.系统主要功能如下:*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;*归还:注销对借阅者的登记,改变该书的现存量。二.概要设计1.本题中用到了以下函数和结构体:本程序首先命名头文件:#include#include

3、tdlib.h>#include以实现对各种函数的调用以及可能用到的各种循环。用“structBOOK”结构体,用来存放书籍以及借书信息;并用到“voidpage_title”的页头函数,通过“voidbook_out”,“voidbook_in”来实现对书本的借出以及还书,定义“search_book”来实现对书本各种信息的搜索任务,“voidbook_add”实现对书本的购进时的注册,用“voidbook_del”实现对书本的注销。最后通过“gotomenu”语句跳出整个循环语句,在各种操作做完后能够返回到主菜单。用到goto语句原则上一般不符合结

4、构化一些规定,但是此题中大大提高了效率,因此我采用了。2.主程序的流程及各程序模块之间的层次:本程序运用到的是用数组作为线性表的一种代替方式,实现各种查询,对各种数据的管理,运用线性表的话可能会更加简便,但是我在用了数组代替后发现其实这样更容易看懂。“structBook”结构体就保证了各种信息的存放和管理,接下来便是定义各种函数来一一实现对书籍的借出,归还,注销和注册,而在这些函数中,有包括了一些小的函数以及循环,例如在搜索函数中,我用到了“for,if”等循环语句,当然少不了数组的添加,一个大的程序就是这些小的部分而组成的。也可以简单的归纳为:整个程序是由搜索,借书

5、,还书,注册书,注销书这几个模块组成,这些又都是在整个“structBook”结构体中。三.详细设计structBOOK为主结构体;voidpage_title(char*menu_item)为页头函数也就是登录界面的显示;voidreturn_confirm(void)为返回确认函数,以便返回主菜单;intsearch_book(void)为搜索书本信息的变量定义;voidbook_out(void)为借出书本的变量定义;voidbook_in(void)为归还书本的变量定义;voidbook_add(void)为注册书本的变量定义;voidbook_del(void

6、)为注销书本的变量定义;switch(getch())为多分支选择语句,即输入一个数,即选择了一个操作;gotomenu返回主菜单的语句;001高等数学樊映川S01….002理论力学罗运祥L01….003高等数学华罗庚S01….004线性代数栾汝书S02….……………——图书目录文件示例图structBookintsearch_bookvoidbook_outvoidbook_invoidbook_addvoidbook_del——函数调用关系图详细流程为:StartHomeHomeuseroptionMemberloginBorrowReturnRegisterati

7、onSearchbook四.调试分析(1).调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析:在调试过程中主要遇到的问题是对函数的定义是出现过一些错误,最后是翻看教材找到了对这些函数的准确定义和使用解决了问题。(2).算法的时空分析(包括基本操作和其他算法的时间复杂度和空间复杂度的分析)和改进设想:一个能执行的程序除了需要存储空间来寄存本身所用指令、常数、变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现计算所需要的信息的辅助空间。我的算法应当说是挺简单的一种方法实现的,空间可能做得不够好,但是时间我想是

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。