资源描述:
《数据结构课程设计:图书借阅管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、长治学院课程设计报告课程名称:数据结构设计题目:图书借阅管理系统系别:计算机系专业:计算机科学与技术组别:10学生姓名:袁野学号:10407240起止日期:2012年4月1日~2012年6月11日指导教师:孙俊杰12目录第一章需求分析21.1课程设计题目21.2课程设计内容及要求21.3课程设计思想21.4开发环境及开发工具2第二章设计概要22.1课程设计流程图22.2菜单设计8第三章详细设计33.1硬件设计与软件设计33.2程序代码33.2.1建立算法33.2.2装载算法63.2.3排序算法8第四章调试与操作说明9第五章课程设计总结与体会9谢辞:11参考文献:1112第一章需求分析1.1
2、课程设计题目图书借阅管理系统(采用无头结点并且带头尾指针的双循环链表利用类型定义一)1.2课程设计内容及要求1.设计一个图书借阅管理系统(借书证号,姓名,书号,书名,单价天,借书日期,还书日期,总天数,总利润;)2.系统模块:密码启动修改模块,数据保存读入模块,数据库建立模块,数据查找模块(借书证号查询,姓名(包括模糊)查询),图书借阅模块,图书还书模块,数据统计模块(分别统计:数据库中还书说收回的总金额,及到当前为止没有还书所应得的总金额),数据排序模块;3.可同时借阅四本书,每本书最长可借2年时间,总天数,总利润有算法自动计算;1.3课程设计思想先用C语言和数据结构学过的知识把每个模
3、块编写出来,再利用函数调用等方式将这些模块一一连接起来,最后通过修改和调试成为符合题目要求的图书借阅管理系统。1.4开发环境及开发工具MicrosoftVisualC++6.0第二章设计概要2.1课程设计流程图退出界面开始界面始界面输入密码主程序模块模块密码启动修改数据保存读入图书借阅归还数据排序模块数据统计模块数据查找模块数据库建立图1流程图122.2菜单设计图书信息建立图书信息显示归还图书统计操作查找操作借阅图书主菜单排序操作删除操作修改系统的密码操作将数据存入磁盘文件将磁盘文件装入内存插入操作退出系统图2设计图第三章详细设计3.1硬件设计与软件设计系统设计是把需求转化为软件系统的最重
4、要的环节。系统设计的优劣在根本上决定了软件系统的质量。良好的数据结构设计,可以提高数据信息的存储效率,保证数据信息的完整性和一致性。同时,一个合理的数据结构有利于程序的实现。这里采用VisualC++作为编译环境,同时有时候也用TURBOC2编译。3.2程序代码3.2.1建立算法Linksetlink(Link*head,Linktail)/*数据库建立模块*/{Linkp,q;12charstr[10],ch;printf("是否录入信息(y/n)?");scanf("%c%*c",&ch);if(ch=='y');{printf("请输入借书证号,姓名,书号,书名,单价每天,借书日
5、期,还书日期,总天数,总利润");q=(Link)malloc(sizeof(LNode));q->next=q;q->pre=q;*head=q;p=q;}while(ch=='y'){printf("请输入借书证号:");gets(str);while(strlen(str)==0
6、
7、checkxsd(str)){printf("借书证号中不能包含字符和小数点,请重新输入借书证号:");gets(str);}strcpy(q->num,str);printf("请输入姓名:");gets(str);while(strlen(str)==0
8、
9、checksz(str)
10、){printf("姓名中不能包含数字和小数点,请重新输入姓名:");gets(str);}strcpy(q->name,str);printf("t请输入书名:");gets(str);while(strlen(str)==0
11、
12、checksz(str)){printf("书名中不能包含数字和小数点,请重新输入:");gets(str);}strcpy(q->sname,str);printf("t请输入书号:");gets(str);while(strlen(str)==0
13、
14、checkxsd(str)){printf("书号中不能包含字符和小数点,请重新输入:
15、");12gets(str);}strcpy(q->shu,str);printf("t请输入单价:");scanf("%f",&price);getchar();if(price<0){printf("单价输入错误,请重新输入:");scanf("%f",&price);getchar();}q->price=price;printf("请输入借书日期,年月日用点号分隔(2012.03.02):");gets