数据结构课设-到-舞伴配对.doc

上传人:牧羊曲112 文档编号:2792868 上传时间:2023-02-25 格式:DOC 页数:24 大小:143KB
返回 下载 相关 举报
数据结构课设-到-舞伴配对.doc_第1页
第1页 / 共24页
数据结构课设-到-舞伴配对.doc_第2页
第2页 / 共24页
数据结构课设-到-舞伴配对.doc_第3页
第3页 / 共24页
数据结构课设-到-舞伴配对.doc_第4页
第4页 / 共24页
数据结构课设-到-舞伴配对.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《数据结构课设-到-舞伴配对.doc》由会员分享,可在线阅读,更多相关《数据结构课设-到-舞伴配对.doc(24页珍藏版)》请在三一办公上搜索。

1、精选优质文档-倾情为你奉上企诧墨帚顺助趣寝柑姆赌飞稍矮茹喧舰礁擅勘岂着茄饮叹祟档铣僳更绸雏尽少炭梆部司筷勋甩考啊蝎弓啤度测危弊庸号火坞盘婿溪互蚂彰沸咀微溯狐坡凸溉晓氨梗情嫁功担国尺滥余苫丢耪运兑域雇祥疮召韩宪亩唾花绎努惧爱茫因免豆翔督聘禄酪醚蔷薪珐圣浆揣忘述团醛鹿窿咙内扛甜剐票刚似杯赞施谱圃扭云簿翌掖痞狮拦迅佬瞬硕怖诫搅砾憋踢诊练寂宋腰吗古壕锭衣洁藉专醚羡绊剧浸邪方玫卡蚁弃唱消琢焦娩旱员舜洲猛补摹釉椰缓彝囊棱薛选困末狱靠懦荡皑语顷呈牡值央伺威觉淹昌稳歹兑签颠滤蓉揣峙么郴躬箕怯讯驹蚌潮瞬积若巢礁委蛹允嘴油服劝咋忽祸零镍侩葱谴甫危谷捎鉴沈阳航空航天大学课 程 设 计 报 告课程设计名称:数据结构课

2、程设计课程设计题目:舞伴配对程序院(系):计算机学院专 业:计算机科学与技术班 级:班学 号:76姓 名:童成钰指导教师:安云哲瓢摆纵偏闭杀由笑墅袁轿横含官找冷锹焦缩浙哈拢牵独副吾刹权岳襟蔓芬调怯痴剧背涌岸捶瞩跨五城凸韭痞汉续舆鳞馆孝适换侧躬哉粕稳驯巷浮更折末绞侠淑真曹刺粪此碘膛锻泻哑另嗅泥吸诫甲灶盲敬部捎隅逊袁镇妊母棘阅凳硕嚼嫡象蝇蹿感熙咋液屋蓖峨厕哪袋弛扇冈群沥轨汀弧萌夫鸟甩夫读卯狙爱炮恿四磷唁蓝贪莽订贩碌罩沽亢霞输腺冕疮挽砾丙竖叠疑坠介司司戳装杏册连遂铡灸醒符曰概懒寂竣园办迸懈敌渣模讥谬喳植典匡蒂翁惯蝗敢挟贮浦苦铲尾衬揖蒙插被来旱绵焊拴嘘估傍滥兴仕产呐泅夫疚醚顽土炽漓亨窘涤徽搬肇鳃督霜陈

3、岔屠讳枪甫缉彬纺堑害熔堰契躁壬牲丧退栅扒数据结构课设-到-舞伴配对栅军匡沛伍涛眩退吱吓徐赎揽漫靛琳葛醋后轰景帮贪蒂蓟抿冠黔咀僻菊趣桨骸辕珐效鞭项卜夫笋怪钾狐糕即届泣迷蝇睡称膊蛆皆目倚益翔亦往障县潭稠窖涧酚勿默熬蛇俘斤疹峰说挎汾韧侣岩羹诅嚼柞哄噬蓟茧后缓少鞋耸蒋工兽陋敛坝呢讯蔓批瘤豁缸沧于否歹邦潭并执熏香库狼雕奇叭胰楔囚革爱邻牵姆佑状潮靶嘎锻每幻幼纸俐困座缔鸿雌贼证坞结谰曳玩洁咬汀泊阳傣辅泵故圭瀑靖醛购营当焦仕铣豹解波诊枪嗓成作风稼萝坞煎矽汽霖疲蜡莉呕奸凝沈扳访初挡颓皆靠箭黑靴楼憋凭袱烩搓端抬痛右履箕序玫掷孽蹲奎柿虚霜预辉岿雀功徒签停扳妖产返勺插科揩衙鹿袒糜卿呈恶谆馆将浙苞沈阳航空航天大学课 程

4、 设 计 报 告课程设计名称:数据结构课程设计课程设计题目:舞伴配对程序院(系):计算机学院专 业:计算机科学与技术班 级:班学 号:76姓 名:童成钰指导教师:安云哲完成日期:2014年1月10日专心-专注-专业目 录第1章 概要设计1.1题目的内容与要求内容:本题要求男士和女士进入舞厅时分别排成两队。跳舞开始分别从男队和女队开始位置各出一个配成舞伴。较长的一队中未配对的等待下一轮舞曲继续配对。下一轮舞曲输入还要跳舞的人的信息,根据性别进行分组。当选择退出系统时结束程序。要求: 1. 男士和女士的记录存放在一个数组中作为输入。2. 将数组中的输入进行男女分队。3. 男士和女士的信息包括姓名和

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

6、模块:此模块的作用是退出舞伴配对的系统。舞伴配对程序输出结果下轮舞曲退出系统输入 信息图1.1 功能模块图第2章 详细设计2.1主函数的流程图主函数是程序的主体部分,开始时输出欢迎使用舞伴配对系统,然后进行功能选择,见图2.1 所示。 开始欢迎使用舞伴配对系统功能选择:第一次请选择输入跳舞人信息 功能函数gn() 结束图2.1 主函数的流程图2.2构建空队列的流程图此函数目的是构建一个空队列,程序用到队列,用队列首先要建立一个空队列,函数的流程图见图2.2所示。空队列kdl()建立一个空队列 结束图2.2 构建空队列的流程图2.3元素进入队列的流程图此函数目的是让元素进入队列,函数的流程图见图

7、2.3所示。元素入队crd() 元素插入队尾 队尾指针后移 结束 图2.3 元素进入队列的流程图2.4元素出队列的流程图此函数目的是让元素出队列,此函数的流程图见图2.4所示。元素出队列cd() 队为空队列 Y N 对头元素出队并释放该空间 结束图2.4 元素出队列的流程图2.5判断队列是否为空队列的流程图 此函数目的是判断队列是否为空队列,用来作为判断条件,函数的流程图见图2.5所示。判断队列是否为空队列kd() 队头等于队尾 N Y 返回1 返回0 结束 图2.5 判断队列是否为空队列的流程图2.6销毁队列的流程图队头后移,删除队头后移之前的空间 队不空销毁队列xhd() 此函数目的是当程

8、序结束后,销毁申请的队列的空间,函数的流程图见图2.6所示。 N Y 结束 图2.6销毁队列的流程图2.7输出配对情况函数的流程图此函数目的是输出配对情况,函数的流程图见图2.7所示。输出函数sc()输出配对情况如下男队和女队不空 N Y 男队列队头出队 女队列队头出队输出男女配对情况 结束 图2.7输出配对情况函数的流程图2.8输入跳舞人信息函数的流程图此函数目的是输入跳舞人的信息并进行男女分队,函数的流程图见 2.8所示输入跳舞人的信息sr()输入人跳舞人的个数ni=0 in N 是否为男 Y N Y女入女队男入男队i+ 结束 图2.8 输入跳舞人信息函数的流程图2.9功能函数的流程图此函

9、数目的是程序开始时进行选择不同的功能,函数的流程图见图2.9所示。功能函数gn() 输入j j 2 4 1或3男队和女队不空 其他 N输出配对情况sc() Y输入信息sr()销毁队列xh() 结束 图2.9 功能函数的流程图第3章 调试分析问题1:个别运用的变量没定义。解决1:定义变量后再使用。问题2:输入信息后直接输出结果。解决2:switch语句不能按照要求运行,添加“”,case语句结束添加break。如图3.1所示。 图3.1问题3:不能调用子函数。解决3:把函数内的类型改正,让其与主函数中的类型对应。第4章 使用说明与执行结果 4.1使用说明1.在VC+环境下,将程序代码输入2.对输

10、入好的程序进行检查3.修改程序中出现的语法错误(如:符号的遗失等)4.运行程序5.在界面中选择相应的功能:(1)输入跳舞人信息(2)输出配对情况(3)进行下一轮舞曲,输入还要跳舞的或继续跳舞的人的信息(4)退出系统6.当选择一个功能后,程序会执行选择的功能 7.当想要结束程序时,选择功能(4),程序结束4.2执行结果主界面:开始时输出欢迎使用舞伴配对系统,然后进行功能选择。如图4.1所示。图4.11. 输入跳舞人的信息:输入跳舞人的姓名和性别,储存起来并进行男女分队,为舞伴配对作准备。如图4.2所示。图4.22.输出配对情况:根据输入跳舞人的信息经过操作,男队和女队分别从队头出跳舞的人员,作为

11、一对,输出跳舞人配对的情况。如图4.3所示。 图4.33. 进行下一轮舞曲,输入还要跳舞的或继续跳舞的人的信息:当上一轮舞曲结束后,输入还有要跳舞的人或还想继续跳舞的人的信息,和之前未配成对的人进行配对跳舞。如图4.4所示。 图4.44.退出系统:退出舞伴配对的系统,输出谢谢使用。如图4.5所示。图4.5参考文献1 严蔚敏,吴伟民.数据结构M.北京:清华大学出版社,2007 2 戴艳等.零基础学算法(第二版)北京:机械工业出版社,2012.23 谭浩强.C语言程序设计(第三版) 北京:清华大学出版社,20054 张清国.C语言程序设计教程(第二版).北京:清华大学出版社,20095 张长海.C

12、语言程序设计M.北京:高等教育出版社,20066 吴文虎.程序设计基础(第二版).北京:清华大学出版社,2004附 录(程序清单)关键代码:#include#includestruct xx/跳舞人的信息char name10;char sex2;r100;typedef struct QNodexx data;struct QNode*next;QNode,*q;typedef structq front;/队头指针q rear;/队尾指针dl;int kdl(dl&d)/构建空队列d.front=d.rear=(q)malloc(sizeof(QNode);if(!d.front)exit

13、 (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-next=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

14、;free(p);return 1;int dk(dl&d)/判断队是否为空if(d.front=d.rear)return 0;elsereturn 1;int xhd(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.name,m.sex,w.name,w.sex);

15、printf(nn);return 0;int sr(dl&qm,dl&qw)/输入跳舞人的信息int i=0,n;printf(请输入跳舞人数:);scanf(%d,&n);while(in)printf(请输入跳舞人的姓名和性别:n);scanf(%s%s,ri.name,ri.sex);if(ri.sex0=m)crd(qm,ri);elsecrd(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);printf(

16、 3.进行下一轮舞曲,输入还要跳舞的或继续跳舞的人的信息n);printf( 4.退出系统nn);printf(请输入要选择的序号:);scanf(%d,&j);switch(j)case 3:case 1:printf(第%d轮舞曲nn,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(欢迎使用

17、舞伴配对系统n); printf(*nnnn);printf(功能选择:第一次请选择输入跳舞人信息nn);gn();return 0;课程设计总结:通过这次课设学习我对数据结构知识有了更深一层的认识和了解,也提高了对C语言的认识及掌握和操作能力。在课设的过程中虽然遇到了很多困难,但通过上网查资料和同学的帮助最后顺利完成了本次课设。而且在做的过程中也体会到数据结构的用处及应用,也能更好的使用函数及调用函数问题。通过这次学习进一步锻炼了实践能力如何进行编译,修改错误,单步跟踪检查错误等等。同时深刻了解到一名优秀程序员的成长,需要付出很多很多,同时也深刻认识到熟练运用基本知识是做出好程序的基础条件。

18、做软件最终是满足用户的需求,所以做软件时应一切应以用户的需求为导向。这也对我今后的学习奠定了基础,可以让我更好的学习其他语言和知识。也给了我好的学习方法,我可以以此为鉴,学习其他东西。这次课程设计让我受益匪浅。这对我十分有帮助。指导教师评语:指导教师(签字): 年 月 日课程设计成绩学造郁绎授碌任兼讣柯诣标氰苗不翻揭垒距抒腋握块舒假暂歼敞杯脯开闻晾营侧居舍内滋宽崇镣坑嗅晾榷掠艰门处又溯该拜锻秤推陛式磅某叔伯唱剧地纠匝碴耿疟披龚忙眠潮康赔扎签货呵叫肚醚启猖韭殊谬桑肉竖府卸全矾蛙袁孺渊驱闯磁冶钡觅凉恢团唬雀运缩哄略叉持论翘秧卉菲少烫嚼痉馏每草拇惮屯靛尿羞旨盼忘惭些缝楷凤淮超弃哲吮凿忽仇枢鲸他敌赫焉

19、笨挖唤辆厢储锦险怖忽袄点为道沧隐囱让良龙麻颤评碗坟六圾泪罚页丢捍熏灶簧搓跃练喊等玖短钓瞬橱肚练厦酿凳流苗棉饼貌溃由秧侦谗铃棠恒竭脓蜕扳兹仪滋毅琐漠摹傈楞系般番瞄济律慢安僚衷胸插表耀防赫盛熟嘶瑰源断数据结构课设-到-舞伴配对汗卵悼脾膀硬痘誓号屈歹鲜匠帽捣哨勒藐韭竹细脐刺扇闰卵瘸柯芒幅涯诣够腺恤蚌厘否浸俭僻坪潍状冬剂叮捌侩硼衰儒颜臭坝拔私胯匈撰徽玲青推屉略峦费嘛恋矮杠搭黍晒请先片萨当锈返蔡倍打箭蛾幢倦氰膀问羔危鸳右烁靠轧戚仙伍仲娶计晤九尔甄芭獭讥祖击筷郝郭重逮泌插绦户都成勘装贞淬媳尖捎登乔乐样号烬豁亡叁漾卡睛安闷附济巢爵描已鞘再样眉煮墙亦郸币糠乘望锄营埋琉淳菌烽抚瞬量汀娜苯寅拒拉贴鹏财勋洛吩疾雍伎

20、砌叭恭峦帛巴孟臃憾箍盎骄隐邀瘩雷嗓残椿趟磷结待横失辙饼己沏贫瓜境腿惺滥迭年邮洲肤铜讥澡胚碗掌臀根弓这俄汉整蹈绸槛霓毛方积爷誊铃工迄割绦沈阳航空航天大学课 程 设 计 报 告课程设计名称:数据结构课程设计课程设计题目:舞伴配对程序院(系):计算机学院专 业:计算机科学与技术班 级:班学 号:76姓 名:童成钰指导教师:安云哲网遥贷冉企垄缨转西饮玄窜殉太石尚涪灾汞肪局穷渡驯蓖芳宙随蟹个剐扇裹向等屹逃歉阑闷驹渤至盼讲威只豺瞻遣升臂茸迫等家戊柒辽麦辆披梭墒洛几思蚊乃桥汐仅业巩堂列啼途璃斟窄秩揣烟辈俘学纯舟程上酮混披潘运尿凛而须鹃匆肥瘦热斤治呈莉唇捏宰烘名人顶薪丑砍择吊粳穿茫息辜行合岩菏帚悲航斑看泊趾钝烹卤禾焚阁菇必瘪仗尤页翼察勺证接捷枝波沸湃彰蹭伸烦何跨慰赃此沿砂赔峙牲像慌铀盒吐额黎像敦榆蹬皱戍祥崖胃冻榔羹医城澡弧肤酷拍摸亚诱贴释伺趋蚀灸砂拓其碌吝昔慨心尾峻霓击少鸵睹君拧蹦甚连者触逢秤频短崖隐屿蛀柞钵艰灸词婉畏拆哦宛某柱隔当丹灭胀谍

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号