数据结构课设--舞伴配对

上传人:xins****2008 文档编号:110768304 上传时间:2019-10-31 格式:DOC 页数:22 大小:175KB
返回 下载 相关 举报
数据结构课设--舞伴配对_第1页
第1页 / 共22页
数据结构课设--舞伴配对_第2页
第2页 / 共22页
数据结构课设--舞伴配对_第3页
第3页 / 共22页
数据结构课设--舞伴配对_第4页
第4页 / 共22页
数据结构课设--舞伴配对_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数据结构课设--舞伴配对》由会员分享,可在线阅读,更多相关《数据结构课设--舞伴配对(22页珍藏版)》请在金锄头文库上搜索。

1、课课 程程 设设 计计 报报 告告 课程设计名称:数据结构课程设计数据结构课程设计 课程设计题目:舞伴配对程序舞伴配对程序 院(系): 专 业: 班 级: 学 号: 姓 名: 指导教师: 完成日期: -I- 目目 录录 第第 1 章章 概要设计概要设计.1 1.1 题目的内容与要求1 1.2 总体结构2 第第 2 章章 详细设计详细设计.3 2.1 主函数的流程图3 2.2 构建空队列的流程图3 2.3 元素进入队列的流程图4 2.4 元素出队列的流程图4 2.5 判断队列是否为空队列的流程图5 2.6 销毁队列的流程图5 2.7 输出配对情况函数的流程图6 2.8 输入跳舞人信息函数的流程图

2、7 2.9 功能函数的流程图8 第第 3 章章 调试分析调试分析.9 第第 4 章章 使用说明与执行结果使用说明与执行结果.10 4.1 使用说明10 4.2 执行结果11 参考文献参考文献.13 附附 录(程序清单)录(程序清单).14 -1- 第 1 章 概要设计 1.1 题目的内容与要求题目的内容与要求 内容: 本题要求男士和女士进入舞厅时分别排成两队。跳舞开始分别从男队和女队 开始位置各出一个配成舞伴。较长的一队中未配对的等待下一轮舞曲继续配对。 下一轮舞曲输入还要跳舞的人的信息,根据性别进行分组。当选择退出系统时结 束程序。 要求: 1.男士和女士的记录存放在一个数组中作为输入。 2

3、.将数组中的输入进行男女分队。 3.男士和女士的信息包括姓名和性别。 4.当进行下一轮舞曲时,输入还要跳舞的或继续跳舞的人的信息。 5.输出配对情况时输出姓名和性别。 6.当选择退出时结束程序。 -2- 1.2 总体结构总体结构 本程序主要分为四个模块(功能模块图见图功能模块图见图 1.1):输入信息模块,输出结 果模块,下轮舞曲模块,退出系统模块。 输入信息模块:此模块的作用是输入跳舞人的姓名和性别,储存起来并进行 男女分队,为舞伴配对作准备。 输出结果模块:此模块的作用是根据输入跳舞人的信息经过操作,男队和女 队分别从队头出跳舞的人员,作为一对,输出跳舞人配对的情况。 下轮舞曲模块:此模块

4、的作用是当上一轮舞曲结束后,输入还有要跳舞的人 或还想继续跳舞的人的信息,和之前未配成对的人进行配对跳舞。 退出系统模块:此模块的作用是退出舞伴配对的系统。 舞伴配对程序 输 出 结 果 下 轮 舞 曲 退 出 系 统 输 入 信 息 图图 1.1 功能模块图功能模块图 -3- 第 2 章 详细设计 2.1 主函数的流程图主函数的流程图 主函数是程序的主体部分,开始时输出欢迎使用舞伴配对系统,然后进行功 能选择,见图 2.1 所示。 图图 2.1 主函数的流程图主函数的流程图 2.2 构建空队列的流程图构建空队列的流程图 此函数目的是构建一个空队列,程序用到队列,用队列首先要建立一个空队 列,

5、函数的流程图见图 2.2 所示。 图图 2.2 构建空队列的流程图构建空队列的流程图 开始 欢迎使用舞伴配对系统 功能选择:第一次请选择输入跳舞人信 息 功能函数 gn() 结束 建立一个空队列 空队列 kdl() 结束 -4- 2.3 元素进入队列的流程图元素进入队列的流程图 此函数目的是让元素进入队列,函数的流程图见图 2.3 所示。 图图 2.3 元素进入队列的流程图元素进入队列的流程图 2.4 元素出队列的流程图元素出队列的流程图 此函数目的是让元素出队列,此函数的流程图见图 2.4 所示。 Y N 图图 2.4 元素出队列的流程图元素出队列的流程图 元素插入队尾 队尾指针后移 结束

6、元素入队 crd() 结束 元素出队列 cd() 队为空队列 对头元素出队并释放该空间 -5- 2.5 判断队列是否为空队列的流程图判断队列是否为空队列的流程图 此函数目的是判断队列是否为空队列,用来作为判断条件,函数的流程图见 图 2.5 所示。 N Y 图图 2.5 判断队列是否为空队列的流程图判断队列是否为空队列的流程图 2.6 销毁队列的流程图销毁队列的流程图 此函数目的是当程序结束后,销毁申请的队列的空间,函数的流程图见图 2.6 所示。 N Y 图图 2.6 销毁队列的流程图销毁队列的流程图 判断队列是否为空队列 kd() 队头等于队尾 返回 0 返回 1 结束 销毁队列 xhd(

7、) 队不空 队头后移,删除队 头后移之前的空间 结束 -6- 2.7 输出配对情况函数的流程图输出配对情况函数的流程图 此函数目的是输出配对情况,函数的流程图见图 2.7 所示。 N Y 图图 2.7 输出配对情况函数的流程图输出配对情况函数的流程图 输出函数 sc() 输出配对情况如下 男队和女队不空 男队列队头出队 女队列队头出队 输出男女配对情况 结束 -7- 2.8 输入跳舞人信息函数的流程图输入跳舞人信息函数的流程图 此函数目的是输入跳舞人的信息并进行男女分队,函数的流程图见 2.8 所示 N Y N Y 图图 2.8 输入跳舞人信息函数的流程图输入跳舞人信息函数的流程图 输入跳舞人

8、的信息 sr() 输入人跳舞人的个数 n i=0 inext=NULL; return 1; -15- int crd(dl p=(q)malloc(sizeof(QNode); if(!p) exit (0); p-data=c; p-next=NULL; d.rear-next=p; d.rear=p; return 1; int cd(dl if(d.front=d.rear) return 0; p=d.front-next; e=p-data; d.front-next=p-next; if(d.rear=p) d.rear=d.front; free(p); return 1; i

9、nt dk(dl else return 1; int xhd(dl free(d.front); d.front=d.rear; return 1; int sc(dl printf(“配对情况如下:n“); while(dk(qm) cd(qw,w); printf(“%s %s%s %sn“,m.name,m.sex,w.name,w.sex); printf(“nn“); return 0; int sr(dl printf(“请输入跳舞人数:“); scanf(“%d“, while(in) printf(“请输入跳舞人的姓名和性别:n“); scanf(“%s%s“,ri.name

10、,ri.sex); if(ri.sex0=m) crd(qm,ri); else crd(qw,ri); i+; return 0; int gn()/功能函数 int i=1,j; dl qm,qw; kdl(qm); kdl(qw); while(1) printf(“ 1.输入跳舞人信息n“); printf(“ 2.输出配对情况n“); -18- printf(“ 3.进行下一轮舞曲,输入还要跳舞的或继续跳舞的人的信息n“); printf(“ 4.退出系统nn“); printf(“请输入要选择的序号:“); scanf(“%d“, switch(j) case 3: case 1:

11、 printf(“第%d 轮舞曲nn“,i); i+; sr(qm,qw); break; case 2: if(dk(qm) break; case 4: xhd(qm); xhd(qw); printf(“*谢谢使用!*nn“); return 0; default: -19- printf(“输入错误,请重新输入。nn“); break; int main() printf(“*n“); printf(“欢迎使用舞伴配对系统n“); printf(“*nnnn“); printf(“功能选择:第一次请选择输入跳舞人信息nn“); gn(); return 0; -20- 课程设计总结:课

12、程设计总结: 通过这次课设学习我对数据结构知识有了更深一层的认识和了解,也提高 了对 C 语言的认识及掌握和操作能力。在课设的过程中虽然遇到了很多困难, 但通过上网查资料和同学的帮助最后顺利完成了本次课设。而且在做的过程中 也体会到数据结构的用处及应用,也能更好的使用函数及调用函数问题。通过 这次学习进一步锻炼了实践能力如何进行编译,修改错误,单步跟踪检查 错误等等。同时深刻了解到一名优秀程序员的成长,需要付出很多很多,同时也 深刻认识到熟练运用基本知识是做出好程序的基础条件。做软件最终是满足用 户的需求,所以做软件时应一切应以用户的需求为导向。这也对我今后的学习奠 定了基础,可以让我更好的学习其他语言和知识。也给了我好的学习方法,我 可以以此为鉴,学习其他东西。这次课程设计让我受益匪浅。这对我十分有帮 助。 指导教师评语: 指导教师(签字): 年 月 日 课程设计成绩

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

当前位置:首页 > 大杂烩/其它

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