1、 课程设计报告 课程名称:课程名称: 数据结构 设计题目设计题目: 图书借阅管理系统 系系 别:别: 计算机系 专专 业:业: 组组 别:别: 学生姓名学生姓名: : 学学 号号: 起止日期起止日期: 2012 年 4 月 1 日 2012 年 6 月 11 日 指导教师指导教师: 1 目录 第一章 需求分析. 2 1.1 课程设计题目. 2 1.2 课程设计内容及要求. 2 1.3 课程设计思想. 2 1.4 开发环境及开发工具. 2 第二章 设计概要. 2 2.1 课程设计流程图. 2 2.2 菜单设计 3 第三章 详细设计. 3 3.1 硬件设计与软件设计 3 3.2 程序代码 3 3.
2、2.1 建立算法 . 3 3.2.2 装载算法 . 6 3.2.3 排序算法 . 8 第四章 调试与操作说明 . 9 第五章 课程设计总结与体会 . 9 谢辞:. 11 参考文献:. 11 2 第一章 需求分析 1.1 课程设计题目 图书借阅管理系统(采用无头结点并且带头尾指针的双循环链表利用类型定义一) 1.2 课程设计内容及要求 1.设计一个图书借阅管理系统(借书证号,姓名,书号,书名,单价天,借书日 期,还书日期,总天数,总利润; ) 2.系统模块:密码启动修改模块,数据保存读入模块,数据库建立模块,数据查找 模块(借书证号查询,姓名(包括模糊)查询) ,图书借阅模块,图书还书模块,数据
3、统 计模块(分别统计:数据库中还书说收回的总金额,及到当前为止没有还书所应得的总 金额) ,数据排序模块; 3.可同时借阅四本书,每本书最长可借 2 年时间,总天数,总利润有算法自动计算; 1.3 课程设计思想 先用 C 语言和数据结构学过的知识把每个模块编写出来, 再利用函数调用等方式将 这些模块一一连接起来,最后通过修改和调试成为符合题目要求的图书借阅管理系统。 1.4 开发环境及开发工具 Microsoft Visual C+ 6.0 第二章 设计概要 2.1 课程设计流程图 图 1 流程图 开 始 界 面 输入密码 退 出 界 面 主程序模块 密 码 启 动 修 改 数 据 统 计 模
4、 块 图 书 借 阅 归 还 数 据 查 找 模 块 数 据 库 建 立 数 据 保 存 读 入 数 据 排 序 模 块 3 2.2 菜单设计 图 2 设计图 第三章 详细设计 3.1 硬件设计与软件设计 系统设计是把需求转化为软件系统的最重要的环节。系统设计的优劣在根本上决定了 软件系统的质量。良好的数据结构设计,可以提高数据信息的存储效率,保证数据信息的完 整性和一致性。同时,一个合理的数据结构有利于程序的实现。这里采用 Visual C+作为 编译环境,同时有时候也用 TURBOC2 编译。 3.2 程序代码 3.2.1 建立算法 Link setlink(Link *head,Link
5、 tail) /*数据库建立模块*/ Link p,q; 插入操作 退出系统 主菜单 统计操作 归还图书 图书信息显示 图书信息建立 查找操作 借阅图书 排序操作 删除操作 修改系统的密码操作 将数据存入磁盘文件 将磁盘文件装入内存 4 char str10,ch; printf(“是否录入信息(y/n)?n“); scanf(“%c%*c“, if(ch=y); printf(“请输入借书证号,姓名,书号,书名,单价每天,借书日期, 还书日期,总天数,总利润nn“); q=(Link)malloc(sizeof(LNode); q-next=q; q-pre=q; *head=q; p=q;
6、 while(ch=y) printf(“请输入借书证号:n“); gets(str); while(strlen(str)=0|checkxsd(str) printf(“借书证号中不能包含字符和小数点,请重新输入借书证号:n“); gets(str); strcpy(q-num,str); printf(“请输入姓名:n“); gets(str); while(strlen(str)=0|checksz(str) printf(“姓名中不能包含数字和小数点,请重新输入姓名:n“); gets(str); strcpy(q-name,str); printf(“ t 请输入书名: n“); gets(str); while(strlen(str)=0|checksz(str) printf(“书名中不能包含数字和小数点