版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳航空航天大学课程设计报告课程设计名称:数据结构课程设计课程设计题目:舞伴配对程序院系:计算机学院专业:计算机科学与技术班 级:24010104班学 号:2021040101176姓 名:童成锤指导教师:安云哲完成日期:2021年1月10日第1章概要设计11.1 题目的内容与要求11.2 总体结构2第2章详细设计32.1 主函数的流程图32.2 构建空队列的流程图32.3 元素进入队列的流程图42.4 元素出队列的流程图42.5 判断队列是否为空队列的流程图52.6 销毁队列的流程图52.7 输出配对情况函数的流程图62.8 输入跳舞人信息函数的流程图 72.9 功能函数的流程图8第3章调试
2、分析9第4章 使用说明与执行结果 104.1 使用说明104.2 执行结果.11.参考文献13附 录程序清单14第1章概要设计1.1 题目的内容与要求内容:此题要求男士和女士进入舞厅时分别排成两队.跳舞开始分别从男队和女队 开始位置各出一个配成舞伴.较长的一队中未配对的等待下一轮舞曲继续配对. 下一轮舞曲输入还要跳舞的人的信息,根据性别进行分组.中选择退出系统时结 束程序.要求:1 .男士和女士的记录存放在一个数组中作为输入.2 .将数组中的输入进行男女分队.3 .男士和女士的信息包括姓名和性别.4 .当进行下一轮舞曲时,输入还要跳舞的或继续跳舞的人的信息.5 .输出配对情况时输出姓名和性别.
3、6 .中选择退出时结束程序.1.2 总体结构本程序主要分为四个模块功能模块图见图1.1:输入信息模块,输出结果 模块,下轮舞曲模块,退出系统模块.输入信息模块:此模块的作用是输入跳舞人的姓名和性别,储存起来并进行 男女分队,为舞伴配对作准备.输出结果模块:此模块的作用是根据输入跳舞人的信息经过操作,男队和女队 分别从队头出跳舞的人员,作为一对,输出跳舞人配对的情况.下轮舞曲模块:此模块的作用是当上一轮舞曲结束后,输入还有要跳舞的人 或还想继续跳舞的人的信息,和之前未配成对的人进行配对跳舞.退出系统模块:此模块的作用是退出舞伴配对的系统.舞伴配对程序输入信息输出结果下轮舞曲退出系统图1.1功能模
4、块图第2章详细设计2.1 主函数的流程图主函数是程序的主体局部,开始时输出欢送使用舞伴配对系统,然后进行功能选择,见图2.1所示.( 开始 /欢送使用舞伴配对系统/,功能选择:第一次请选择输入跳舞人信息功能函数gn () F( 结束)图2.1主函数的流程图2.2 构建空队列的流程图此函数目的是构建一个空队列,程序用到队列,用队列首先要建立一个空队列,函数的流程图见图2.2所示.图2.2构建空队列的流程图2.3 元素进入队列的流程图2.3所小.图2.3元素进入队列的流程图此函数目的是让元素进入队列,函数的流程图见图2.4所示.图2.4元素出队列的流程图2.4 元素由队列的流程图此函数目的是让元素
5、出队列,此函数的流程图见图2.5 判断队列是否为空队列的流程图此函数目的是判断队列是否为空队列,用来作为判断条件,函数的流程图见 图2.5所示.2.6 销毁队列的流程图此函数目的是当程序结束后,销毁申请的队列的空间,函数的流程图见图2.6 所示.2.7 输由配对情况函数的流程图此函数目的是输出配对情况,函数的流程图见图2.7所示.图2.7输出配对情况函数的流程图2.8 输入跳舞人信息函数的流程图2.8所示此函数目的是输入跳舞人的信息并进行男女分队,函数的流程图见输入跳舞人的信息 sr ()输入人跳舞人的个数图2.8输入跳舞人信息函数的流程图2.9 功能函数的流程图此函数目的是程序开始时进行选择
6、不同的功能,函数的流程图见图2.9所示其他输出配对情况sc ()输入信息sr ()销毁队列xh()图2.9功能函数的流程图第3章调试分析问题1:个别运用的变量没定义解决i :定义变量后再使用.问题2:输入信息后直接输出结果.解决2: switch语句不能根据要求运行,添加“",case语句结束添加break如图3.1所示.功能选择工第一次请选择输入出携人信息律第懿信即犍舞翌普曲,输入还要跳舞的或继续跳舞的人的信息 4.痘由素统1请瑜人国选择的序号:1静瞋?«蛇薄3 >:工输入跳舞人的姓名和性别<男 女 3;2b配对情况如下:1 (!»<-*-&g
7、t;2 wf*谢谢使用? *图3.1问题3:不能调用子函数 解决3:把函数内的类型改正,让其与主函数中的类型对应第4章 使用说明与执行结果4.1 使用说明1 .在VC+环境下,将程序代码输入2,对输入好的程序进行检查3 .修改程序中出现的语法错误(如:符号的遗失等)4 .运行程序5 .在界面中选择相应的功能:(1)输入跳舞人信息(2)输出配对情况(3)进行下一轮舞曲,输入还要跳舞的或继续跳舞的人的信息(4)退出系统6,中选择一个功能后,程序会执行选择的功能7.当想要结束程序时,选择功能(4),程序结束4.2执行结果主界面:开始时输出欢送使用舞伴配对系统,然后进行功能选择.如图4,1所示欢送使用
8、舞伴配时系统II力能选择;第一次请选择输入跳舞人信息1 .输人跳雪人信息3 .谐行T工色舞曲,输入还要跳舞的或继续跳舞的人的信息 4,痘由素统f2 .瑜强筋情温_ 青输入要选»的序号:图4.11,输入跳舞人的信息:输入跳舞人的姓名和性别,储存起来并进行男女分队, 为舞伴配对作准备.如图4,2所示.请辆八藜择的序号:I髀逑就爵蹄就然隈3 >: ;青露入跳舞人的姓名和性别男5女国 *输入跳舞人的姓名和性别<男5女 33 n图4.22,输出配对情况:根据输入跳舞人的信息经过操作,男队和女队分别从队头出跳舞 的人员,作为一对,输出跳舞人配对的情况.如图 4,3所示.12 3 4信
9、普 As* rFT统 跳配 人党出息*曲.输入还要跳舞的或继续跳舞的人的信息请输入要选择的序号:2对情况如下: >2 u图4.33.进行下一轮舞曲,输入还要跳舞的或继续跳舞的人的信息:当上一轮舞曲结束后, 输入还有要跳舞的人或还想继续跳舞的人的信息,和之前未配成对的人进行配对 跳舞.如图4.4所示.3麟盥翳曲,输入还要跳舞的或继续跳舞的人的信息4.眼出索统$上粼曾锄序号3 涉腐德黑精建EM,4 .黯髓茶殿3 :麟熙里舞曲,输入还要跳舞的或继续跳舞的人的信息4 .退出系统3 R<>4 W图4.44.退出系统:退出舞伴配对的系统,输出谢谢使用.如图 4.5所示图4.5参考文献1严
10、蔚敏,吴伟民.数据结构M.北京:清华大学出版社,20072戴艳等.零根底学算法第二版北京:机械工业出版社,2021.23谭浩强.C语言程序设计第三版北京:清华大学出版社,20054张清国.C语言程序设计教程第二版.北京:清华大学出版社,20215张长海.C语言程序设计M.北京:高等教育出版社,20066吴文虎.程序设计根底第二版.北京:清华大学出版社,2004附 录程序清单关键代码:#include<stdio.h>#include<stdlib.h>struct xx/跳舞人的信息(char name10;char sex2;r100;typedef struct Q
11、Node(xx data;struct QNode*next;QNode,*q;typedef struct(q front;/队头指针q rear;/队尾指针dl;int kdl(dl&d)构建空队列(d.front=d.rear=(q)malloc(sizeof(QNode);if(!d.front)exit (0);d.front->next=NULL;return 1;int crd(dl&d,xx c)/插入c为队列元素(QNode*p;p=(q)malloc(sizeof(QNode);if(!p)exit (0);p->data=c;p->nex
12、t=NULL;d.rear->next=p;d.rear=p;return 1;)int cd(dl&d,xx&e)/队列不空,删除队头,用 e返回其值(QNode*p;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;int dk(dl&d)/判断队是否为空if(d.front=d.rear)return 0;elsereturn 1;)int xhd(
13、dl&d)/ 销毁队(while(d.front)(d.rear=d.front->next;free(d.front);d.front=d.rear;)return 1;)int sc(dl&qm,dl&qw)/ 输出配对情况(xx m,w;printf("配对情况如下:n");while(dk(qm)&&dk(qw)(cd(qm,m);cd(qw,w);printf("%s %s<>%s %sn",,m.sex,,w.sex);)printf("nn"
14、;);return 0;)int sr(dl&qm,dl&qw)/输入跳舞人的信息(int i=0,n;printf("请输入跳舞人数人数不大于100人>:");scanf("%d",&n);while(i<n)(printf("请输入跳舞人的姓名和性别<男(m)女(w) >:n");scanf("%s%s",,ri.sex);if(ri.sex0='m')(crd(qm,ri);else(crd(qw,ri);i+;return 0;i
15、nt gn()/功能函数(int i=1,j;dl qm,qw;kdl(qm);kdl(qw);while(1)(printf(printf("1.输入跳舞人信息 n");2 .输出配对情况* n");printf(3 .进行下一轮舞曲,输入还要跳舞的或继续跳舞的人的信息n");printf("4.退出系统 nn");printf("请输入要选择的序号:");scanf("%d",&j);switch(j)(case 3:case 1:(printf("第 d 轮舞曲 nn&q
16、uot;,i);i+;sr(qm,qw);break;case 2:(if(dk(qm)&&dk(qw)sc(qm,qw);break;case 4:(xhd(qm);xhd(qw);printf("*谢谢使用!*nn");return 0;default:printf"输入错误,请重新输入. nn"break;)int main()printf(*n");printf" 欢送使用舞伴配对系统n"printf(*nnnn");printf"功能选择:第一次请选择输入跳舞人信息nn"gn();return 0;课程设计总结:通过这次课设学习我对数据结构知识有了更深一层的熟悉和了解,也提升了对C语言的熟悉及掌握和操作水平. 在课设的过程中虽然遇到了很多困难, 但通 过上网查资料和同学的帮助最后顺利完成了本次课设. 而且在做的过程中也体会 到数据结构的用处及应用,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国衣筐行业投资前景及策略咨询研究报告
- 2025年男士运动装项目可行性研究报告
- 2025年激光盘点仪项目可行性研究报告
- 2025年柔丝特润玉手霜项目可行性研究报告
- 2025年方竹笋项目可行性研究报告
- 2025至2031年中国女士短袜行业投资前景及策略咨询研究报告
- 2025年喷雾手枪项目可行性研究报告
- 2025至2030年中国黄金鸟数据监测研究报告
- 2025至2030年中国香味硅胶数据监测研究报告
- 2025至2030年钢塑柔性复合管项目投资价值分析报告
- 《无菌检查培训》课件
- 2024-2030年中国香菇行业销售状况及供需前景预测报告
- 2024年广东省公务员录用考试《行测》真题及解析
- 幼儿园开学师德培训
- GB/T 44570-2024塑料制品聚碳酸酯板材
- 金蛇纳瑞2025年公司年会通知模板
- GB/T 16288-2024塑料制品的标志
- 《记念刘和珍君》课件
- 中小型无人驾驶航空器垂直起降场技术要求
- 北京市城市管理委员会直属事业单位公开招聘10人高频难、易错点500题模拟试题附带答案详解
- 禁止送礼的协议书
评论
0/150
提交评论