舞会配对问题课程设计..docx
《舞会配对问题课程设计..docx》由会员分享,可在线阅读,更多相关《舞会配对问题课程设计..docx(21页珍藏版)》请在冰豆网上搜索。
数据结构课程设计报告撰写要求
(一)纸张与页面要求
1 .采用国际标准A4型打印纸或复印纸,纵向打印。
2 .封页和页面按照下面模板书写(正文为:
小四宋体1.5倍行距)。
3.图表及图表标题按照模板中的表示书写。
(二)课设报告书的内容应包括以下各个部分:
(按照以下顺序装订)
1.封页(见课设模版)
2、学术诚信声明,所有学生必须本人签字,否则教师拒绝给予成绩。
2.任务书(学生教师均要签字,信息填写完整)
3.目录
4.正文一般应包括以下内容:
(1)题目介绍和功能要求(或描述)
课程设计任务的详细描述(注意不能直接抄任务书),将内容做更详细的具体的分析与描述;
(2)系统功能模块结构图
绘制系统功能结构框图及主要模块的功能说明;
(3)使用的数据结构的描述:
数据结构设计及用法说明;
(4)涉及到的函数的描述;
(5)主要算法描述(程序流程图)
(6)给出程序测试/运行的结果
设计多组数据加以描述(包括输入数据和输出结果)
(7)课程设计的总结及体会
(8)参考文献
格式要求:
[1]作者,等.书名.出版地:
出版社,出版年
5.附录:
程序清单(应带有必要的注释)
沈阳航空航天大学
课程设计报告
课程设计名称:
数据结构课程设计课程设计题目:
舞会配对问题
院(系):
专 业:
班 级:
学 号:
姓 名:
指导教师:
说明:
结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要
求;数据不实,不予通过。
报告和电子数据必须作为实验现象重复的关键依据。
沈阳航空航天大学课程设计报告
学术诚信声明
本人声明:
所呈交的报告(含电子版及数据文ixin件)是我个人在导师指导下独立进行设计工作及取得的研究结果。
尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。
与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。
报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。
本人签名:
日期:
年月日
沈阳航空航天大学
课程设计任务书
课程设计名称 数据结构课程设计 专业
学生姓名
班级
学号
题目名称
起止日期
课设内容和要求:
年
月
日起至
年 月 日止
参考资料:
《算法与数据结构》
《C语言程序设计》
教研室审核意见:
教研室主任签字:
指导教师(签名)
年
月
日
学生(签名)
年
月
日
课程设计总结:
紧张的两周数据结构课程设计很快就过去了,通过这两周的数据结果编程练习,不仅使我巩固了以前的知识并在此基础上还对数据结构的特点和算法有了更深的了解,使我们在这门课程的实际应用上也有了一个提高。
当我拿到舞会配对问题的这个课程设计任务书的时候,我不知道和个程序应该如何下
手,应该选择什么数据结构才能使整个算法的效率很高,但是参考了一些c语言专业方面比较权威的资料以后,我决定选用队列这种数据结构,因为整个程序主要是男女生配对进行跳舞,将男女生分别放在两队列里进行各种操作就会方便很多,再确定了使用队列这种数据结构之后,我就开始认真查阅资料,由于队列需要用到很多指针方面的知识,我又对以前学过的指针好好复习了一下。
它激发了我们创新意识,开发创造的能力和培养沟通能力随着高级语言的发展,数据结构在计算机的研究和应用中已展现出强大的生命力,它兼顾了诸多高级语言的特点,是一种典型的结构化程序设计语言,它处理能力强,使用灵活方便,应用面广,具有良好的可移植性。
最后,在这次的课程设计过程中,我们深刻的认识到了自己在学习方面的不足之处,让我发现很多没有完全理解的旧知识,这次课程设计从某种角度来说也是一次对以前学过的知识进行查漏补缺的好时机,我知道我还有太多的基本的思想没有真正的理解,当然我们不会灰心,我们会在以后的日子里努力弥补我们的不足。
总的来说,这次课程设计让我学到不少知识,让我受益匪浅。
目 录
1 概要设计 .-1-
1.1题目内容和要求..............................................................................................-1-
1.2系统功能模块..................................................................................................-1-
2 详细设计................................................................................................................-3-
2.1主函数模块........................................................................................................-3-
2.2输入信息模块.....................................................................................................-4-
2.3输出信息模块.....................................................................................................-5-
2.4信息查询模块.....................................................................................................-6-
2.5退出模块.............................................................................................................-6-
3 调试分析................................................................................................................-7-
4 使用说明................................................................................................................-8-
4.1使用说明.............................................................................................................-8-
4.2执行结果.............................................................................................................-8-
参考文献....................................................................................................................-10-
附 录(关键部分程序清单)..............................................................................-11-
1 概要设计
1.1题目内容和要求
在一个舞会上男女生分别编号坐在舞池两边的椅子上等待跳舞,舞厅内播放不同的舞曲,每曲开始时,男生和女生中各出一人从舞池走向舞台配对跳舞,如果本首歌曲没有成功配对者坐着等待下一首歌曲找舞伴。
请设计一个程序模拟动态地显示出上述过程。
要求是程序运行时可以进行初始化设置,可以自定义男生人数,女生人数,舞曲编号。
程序中可以输出所有舞曲配对情况,包括舞曲编号,男女生配对情况。
为了方便用户进行查询,程序支持用户可以选择单独查看某个编号舞曲的男女生的配对情况本程序代码选择合适的数据结构,程序运行时侯界面要美观实用。
按课程设计老师要求写好课程设计报告。
1.2系统功能模块
对本程序进行功能分析,本程序包括五个模块,它们分别为主函数模块,输入信息模块,输出信息模块,查询信息模块和退出模。
块,其中主函数模块的功能是调用其余相关功能模块实现相应的功能,输入信息模块可以自定义舞会信息,包括男女生的人数和舞曲的信息,输出信息模块可以输出所有舞曲的男女生配对情况,为了方便用户使用,信息查询模块可以单独查看某个舞曲的男女生搭配情况,退出模块的作用是退出程序,图1.1为本程序的功能模块图。
-15-
主
输
输
查
函
入
出
询
数
信
信
信
模
息
息
息
块
模
块
模
块
模块
舞会配对程序
退
出模
块
图1.1系统总体模块图
2详细设计
2.1主函数模块
主函数main()
输入j
1
0
j
输入信息sr()
男队和女队不空
YN
输出配对情况sc()
销毁队列xh()
结束
主函数是整个程序的主要部分,是实现程序各个功能的基础,通过主函数可以调用程序中的自定义数据结构实现程序所具有自定义初始化数据的功能自定义的数据内容都包括跳舞人员信息,即男生人数,女生人数,曲目信息即所有曲目的总数,显示舞会中所有曲目中男女舞伴的搭配情况等功能,并且主函数还可以调用信息查询模块,实现单首舞曲中男生和女生的搭配情况,这个功能可以节约使用者的时间,提高程序的友好性,主函数模块是程序中不可或缺的部分。
本程序的主函数流程图如图2.1所示。
图2.1主函数模块流程图
2.2输入信息模块
本模块是程序初始化的重要过程,在本模块中,用户可以根据自己的需要去定义程序的初始信息,也就是男生和女生的总人数,还有总的曲目数,在输入男生和女生信息之前首先要建立两个队列,分别存放男生和女生的信息,然后将每一个男生和女生都看成一个元素,然后将元素插入建立的队列的队尾,随着队尾指针的后移,逐步的将男生和女生的所有信息放入到建立的两个队列中,此时需要判断是否输入了男女生的信息,如果未输入,则提示队列为空队列(队列头指针与队列的尾指针相等),要求用户重新输入数据。
本模块的流程图如图2.