技术交底大全报告(宿舍管理查询系统)

上传人:yh****1 文档编号:126884189 上传时间:2020-03-28 格式:DOC 页数:26 大小:413.50KB
返回 下载 相关 举报
技术交底大全报告(宿舍管理查询系统)_第1页
第1页 / 共26页
技术交底大全报告(宿舍管理查询系统)_第2页
第2页 / 共26页
技术交底大全报告(宿舍管理查询系统)_第3页
第3页 / 共26页
技术交底大全报告(宿舍管理查询系统)_第4页
第4页 / 共26页
技术交底大全报告(宿舍管理查询系统)_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《技术交底大全报告(宿舍管理查询系统)》由会员分享,可在线阅读,更多相关《技术交底大全报告(宿舍管理查询系统)(26页珍藏版)》请在金锄头文库上搜索。

1、数据结构课程设计-(宿舍管理查询软件)题 目:宿舍管理查询软件 学生姓名: 学 号: 专业班级: 2014年7月3日 专业资料数据结构课程设计题目宿舍管理查询软件1、课程设计的目的2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:(1)采用交互工作方式(2)可以增加、删除、修改信息(3)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种)(4) 查询 : a.按姓名查询 ;b.按学号查询 ;c按房号查询(5) 打印任一查询结果(可以连续操作) 专业资料目 录数据结构课程设计I目

2、录I1 设计题目12 需求分析13算法设计13.1算法设计思想及分析13.2线性表的顺序存储23.2.1程序流程图为:23.2.2存储结构:34、数据测试34.1开始录入的数据:34.2插入的数据:34.3查找的数据:34.4删除的数据:35、测试输出结果及分析(以运行结果图表示):45.1测试输出结果45.1.1欢迎界面:45.1.2按任意键进入线性表的创建界面,输入数据,开始创建:45.1.3请按键选择操作:55.1.4按学号排序:55.1.5按房号排序:55.1.6插入后显示:65.1.7按姓名查找:65.1.8按学号查找:75.1.9按房号查找:75.1.10进入删除功能,删除数据后显

3、示剩余的学生信息:75.1.11退出(数字为零时退出):85.2测试输出结果分析86、收获与体会91 、设计题目宿舍管理查询软件任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:(1)采用交互工作方式(2)可以增加、删除、修改信息(3)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种)(4) 查询 : a.按姓名查询 ;b.按学号查询 ;c按房号查询(5) 打印任一查询结果(可以连续操作)2、需求分析根据上述要求,我们开始考虑系统应具备的功能:3、 算法设计3.1 算法设计思想及分析首先,运行程序进入“欢迎进入宿舍管理查询系统”界面,然

4、后进入线性表创建界面中,输入学生的信息,创建好学生信息以后单击“n”键则进入操作界面(主界面),然后可按键进行操作。单击数字键“1”,则为按姓名排序 单击数字键“2”,则为按学号排序单击数字键“3”,则为按房号排序 单击数字键“4”,则为按姓名查找单击数字键“5”,则为按学号查找 单击数字键“6”,则为按学号查找单击数字键“7”,则为按学号插入 单击数字键“8”,则为按学号删除系统中有如下关键词: 提示:当输入的数字键为0时,退出操作;请输入数字键(18为操作键);请按任意键进入主界面。3.2线性表的顺序存储3.2.1程序流程图为:开始显示“宿舍管理查询系统主菜单”是否继续查找Y输入“学号,姓

5、名,性别,房间号”是否继续录入Y“信息录入”按键选择操作按“1”按“4”按“6”按“3”按“7”按“8”按“2”按“5”按姓名排序按学号排序按房号排序按姓名查找按房号查找是否继续查找Y按学号查找是否继续查找Y按学号插入Y是否继续插入按学号删除是否继续删除Y显示列表NNNNNN按“0”结束3.2.2存储结构本系统定义的存储结构采用结构体数组,结构体为:#define ListSize 100typedef struct /定义结构体成员char name20;int num; /学号和房号都为整型int room;stu;stu stud;typedef struct int ListSize;

6、 /当前分配的存储容量int length; /当前长度stu *elem; linklist; 4、数据测试4.1开始录入的数据:姓名 学号 房间号李XX 357 612刘XX 361 528吕XX 250 4134.2插入的数据:姓名 学号 房间号赵XX 346 612丁XX 367 5094.3查找的数据:XX(按姓名) 359(按学号) 612(按房间号)4.4删除的数据:357(按学号)5、测试输出结果(以运行结果图表示):5.1.1欢迎界面:5.1.2按任意键进入线性表的创建界面,输入数据,开始创建:5.1.3请按键选择操作:5.1.4按学号排序:5.1.5按房号排序:5.1.6插

7、入后显示:5.1.7按姓名查找:5.1.8按学号查找:5.1.9按房号查找:5.1.10进入删除功能,删除数据后显示剩余的学生信息:5.1.11退出(数字为零时退出):5.2分析结果优点:在插入和删除模块中,显示学生的信息的下面总是有主界面,经过调试,清屏后,显示的只有学生的信息了,再按键即可返回主界面。本程序能很好的控制了显示的学生信息与主界面的转换。缺点:在按关键字(姓名、学号、房号)查找中,由于题目限制了只能用二分查找方式进行查找,所以有时出现了关键字相同时(列如房号相同),就只能查出并显示出一个学生的信息(例如612房间有杜欣笑和李刘璐两名同学,但只查找到杜欣笑一名同学)。按(姓名、学

8、号、房号)排序和查找功能每个函数都写了一遍,很繁琐6、 收获与体会经过这次课程设计,我收获到到了很多东西,对C语言有了进一步的了解和认识,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力,在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。通过本次数据结构课程设计,我学到了很多,独立的完成了作业,我觉得很满

9、足,也很有成就感,现在知道并熟练的掌握了一些曾经自己不知道的知识。例如: (1)scanf()和gets()输入函数的不同之处,当scanf()输入字符串时不能带空格,否则不能输出后面的字符,而gets()能输入带空格的字符串。(2)知道了怎么能组装好各个函数模块,使它们实现各自的功能。附录:采用顺序线性表解决宿舍管理问题#include#include#include#define N 40 /线性表存储空间的初始分配量#define increase 10 /线性表存储空间的分配量增量int f,t=0; /定义全局变量typedef struct char name20;int num;

10、 /学号和房号都为整型int room;stu;stu stud;typedef structint length; /当前长度stu *elem; /存储空间基址int listsize; /当前分配的存储容量linklist; void init(linklist &l)/线性表初始化l.length=0;l.elem=(stu *)malloc(N*sizeof(stu );l.listsize=N;void menu()/操作菜单printf(n);printf( *请按键选择操作*n);printf(n);printf(n);printf( 1 按姓名排序 2 按学号排序n);pri

11、ntf(n);printf( 3 按房号排序 4 按姓名查找n);printf(n);printf( 5 按学号查找 6 按房号查找n);printf(n);printf( 7 按学号插入 8 按学号删除n);printf(n);printf(n);printf(n);printf(n);printf(提示:当输入的数字键为0时,退出操作n);if(t=1)printf(请输入数字键(18为操作键):);/18为有效数字操作键 scanf(%d,&f);if(f9)system(cls); printf(n);printf(输入数字不对,请在原处重输!n); printf(n);menu();void disp() /返回主界面char c;fflush(stdin);printf(n);printf(请按任意键进入主界面:);scanf(%c,&c);system(cls);void panduan3() /如果已无学生记录则返回主界面 printf(n);printf(已无学生记录n);printf(n); disp(); menu();void shuru(linklist l) /输入学生的信息printf(请输入姓名:);fflush(stdin); / 清空

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号