




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课课 程程 设设 计计 报报 告告 课程设计名称 数据结构课程设计数据结构课程设计 课程设计题目 舞伴配对程序舞伴配对程序 院 系 专 业 班 级 学 号 姓 名 指导教师 完成日期 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 输入跳舞人信息函数的流程图 7 2 9 功能函数的流程图 8 第第 3 章章 调试分析调试分析 9 第第 4 章章 使用说明与执行结果使用说明与执行结果 10 4 1 使用说明 10 4 2 执行结果 11 参考文献参考文献 13 附附 录 程序清单 录 程序清单 14 1 第 1 章 概要设计 1 1 题目的内容与要求题目的内容与要求 内容 本题要求男士和女士进入舞厅时分别排成两队 跳舞开始分别从男队和女队 开始位置各出一个配成舞伴 较长的一队中未配对的等待下一轮舞曲继续配对 下一轮舞曲输入还要跳舞的人的信息 根据性别进行分组 当选择退出系统时结 束程序 要求 1 男士和女士的记录存放在一个数组中作为输入 2 将数组中的输入进行男女分队 3 男士和女士的信息包括姓名和性别 4 当进行下一轮舞曲时 输入还要跳舞的或继续跳舞的人的信息 5 输出配对情况时输出姓名和性别 6 当选择退出时结束程序 2 1 2 总体结构总体结构 本程序主要分为四个模块 功能模块图见图功能模块图见图 1 1 输入信息模块 输出结 果模块 下轮舞曲模块 退出系统模块 输入信息模块 此模块的作用是输入跳舞人的姓名和性别 储存起来并进行 男女分队 为舞伴配对作准备 输出结果模块 此模块的作用是根据输入跳舞人的信息经过操作 男队和女 队分别从队头出跳舞的人员 作为一对 输出跳舞人配对的情况 下轮舞曲模块 此模块的作用是当上一轮舞曲结束后 输入还有要跳舞的人 或还想继续跳舞的人的信息 和之前未配成对的人进行配对跳舞 退出系统模块 此模块的作用是退出舞伴配对的系统 舞伴配对程序 输 出 结 果 下 轮 舞 曲 退 出 系 统 输 入 信 息 图图 1 1 功能模块图功能模块图 3 第 2 章 详细设计 2 1 主函数的流程图主函数的流程图 主函数是程序的主体部分 开始时输出欢迎使用舞伴配对系统 然后进行功 能选择 见图 2 1 所示 图图 2 1 主函数的流程图主函数的流程图 2 2 构建空队列的流程图构建空队列的流程图 此函数目的是构建一个空队列 程序用到队列 用队列首先要建立一个空队 列 函数的流程图见图 2 2 所示 图图 2 2 构建空队列的流程图构建空队列的流程图 开始 欢迎使用舞伴配对系统 功能选择 第一次请选择输入跳舞人信 息 功能函数 gn 结束 建立一个空队列 空队列 kdl 结束 4 2 3 元素进入队列的流程图元素进入队列的流程图 此函数目的是让元素进入队列 函数的流程图见图 2 3 所示 图图 2 3 元素进入队列的流程图元素进入队列的流程图 2 4 元素出队列的流程图元素出队列的流程图 此函数目的是让元素出队列 此函数的流程图见图 2 4 所示 Y N 图图 2 4 元素出队列的流程图元素出队列的流程图 元素插入队尾 队尾指针后移 结束 元素入队 crd 结束 元素出队列 cd 队为空队列 对头元素出队并释放该空间 5 2 5 判断队列是否为空队列的流程图判断队列是否为空队列的流程图 此函数目的是判断队列是否为空队列 用来作为判断条件 函数的流程图见 图 2 5 所示 N Y 图图 2 5 判断队列是否为空队列的流程图判断队列是否为空队列的流程图 2 6 销毁队列的流程图销毁队列的流程图 此函数目的是当程序结束后 销毁申请的队列的空间 函数的流程图见图 2 6 所示 N Y 图图 2 6 销毁队列的流程图销毁队列的流程图 判断队列是否为空队列 kd 队头等于队尾 返回 0 返回 1 结束 销毁队列 xhd 队不空 队头后移 删除队 头后移之前的空间 结束 6 2 7 输出配对情况函数的流程图输出配对情况函数的流程图 此函数目的是输出配对情况 函数的流程图见图 2 7 所示 N Y 图图 2 7 输出配对情况函数的流程图输出配对情况函数的流程图 输出函数 sc 输出配对情况如下 男队和女队不空 男队列队头出队 女队列队头出队 输出男女配对情况 结束 7 2 8 输入跳舞人信息函数的流程图输入跳舞人信息函数的流程图 此函数目的是输入跳舞人的信息并进行男女分队 函数的流程图见 2 8 所示 N Y N Y 图图 2 8 输入跳舞人信息函数的流程图输入跳舞人信息函数的流程图 输入跳舞人的信息 sr 输入人跳舞人的个数 n i 0 i n 是否为男 男入男队 i 女入女队 结束 8 2 9 功能函数的流程图功能函数的流程图 此函数目的是程序开始时进行选择不同的功能 函数的流程图见图 2 9 所示 2 4 1 或 3 其他 N Y 图图 2 9 功能函数的流程图功能函数的流程图 功能函数 gn 输入 j j 男队和女队不空 输出配对情况 sc 输入信息 sr 销毁队列 xh 结束 9 第 3 章 调试分析 问题 1 个别运用的变量没定义 解决 1 定义变量后再使用 问题 2 输入信息后直接输出结果 解决 2 switch 语句不能按照要求运行 添加 case 语句结束添加 break 如图 3 1 所示 图图 3 13 1 问题 3 不能调用子函数 解决 3 把函数内的类型改正 让其与主函数中的类型对应 10 第 4 章 使用说明与执行结果 4 1 使用说明使用说明 1 在 VC 环境下 将程序代码输入 2 对输入好的程序进行检查 3 修改程序中出现的语法错误 如 符号的遗失等 4 运行程序 5 在界面中选择相应的功能 1 输入跳舞人信息 2 输出配对情况 3 进行下一轮舞曲 输入还要跳舞的或继续跳舞的人的信息 4 退出系统 6 当选择一个功能后 程序会执行选择的功能 7 当想要结束程序时 选择功能 4 程序结束 11 4 2 执行结果执行结果 主界面 开始时输出欢迎使用舞伴配对系统 然后进行功能选择 如图 4 1 所示 图图 4 1 1 输入跳舞人的信息 输入跳舞人的姓名和性别 储存起来并进行男女分队 为舞伴配对作准备 如图 4 2 所示 图图 4 2 2 输出配对情况 根据输入跳舞人的信息经过操作 男队和女队分别从队头出跳舞 的人员 作为一对 输出跳舞人配对的情况 如图 4 3 所示 图图 4 3 12 3 进行下一轮舞曲 输入还要跳舞的或继续跳舞的人的信息 当上一轮舞曲结束后 输入还有要跳舞的人或还想继续跳舞的人的信息 和之前未配成对的人进行配对 跳舞 如图 4 4 所示 图图 4 4 4 退出系统 退出舞伴配对的系统 输出谢谢使用 如图 4 5 所示 图图 4 5 13 参考文献 1 严蔚敏 吴伟民 数据结构 M 北京 清华大学出版社 2007 2 戴艳等 零基础学算法 第二版 北京 机械工业出版社 2012 2 3 谭浩强 C 语言程序设计 第三版 北京 清华大学出版社 2005 4 张清国 C 语言程序设计教程 第二版 北京 清华大学出版社 2009 5 张长海 C 语言程序设计 M 北京 高等教育出版社 2006 6 吴文虎 程序设计基础 第二版 北京 清华大学出版社 2004 14 附 录 程序清单 关键代码 include include struct xx 跳舞人的信息 char name 10 char sex 2 r 100 typedef struct QNode xx data struct QNode next QNode q typedef struct q front 队头指针 q rear 队尾指针 dl int kdl dl if d front exit 0 d front next 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 int 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 s n m name m sex w name w sex printf n n return 0 int sr dl printf 请输入跳舞人数 scanf d while i n printf 请输入跳舞人的姓名和性别 n scanf s s r i name r i sex if r i sex 0 m crd qm r i else crd qw r i 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 退出系统 n n printf 请输入要选择的序号 scanf d switch j case 3 case 1 printf 第 d 轮舞曲 n n i i sr qm qw break case 2 if dk qm break case 4 xhd qm xhd qw printf 谢谢使用 n n return 0 default 19 printf 输入错误 请重新输入 n n break int main printf n printf 欢迎使用舞伴配对系统 n printf n n n n printf 功能选择 第一次请选择输入跳舞人信息 n n gn return 0 20 课程设计总结 课程设计总结 通过这次课设学习我对数据结构知识有了更深一层的认识和了解 也提高 了对 C 语言的认识及掌握和操作能力 在课设的过程中虽然遇到了很多困难 但通过上网查资料和同学的帮助最后顺利完成了本次课设 而且在做的过程中 也体会到数据结构的用处及应用 也能更好的使用函数及调用函数问题 通过 这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黄金从业人员考试试题及答案
- 2025年优抚医院招聘考试高频考点梳理
- 图书批量销售方案范本
- 2025年校园定向比赛题目及答案
- 2025年中国石油拉美公司招聘面试常见问题及答案
- 2025年钻孔应变仪项目申请报告模范
- 2025年宫灯制作师认证考试备考攻略
- 单元活动 遥感技术及其应用说课稿-2025-2026学年高中地理鲁教版必修第一册-鲁教版2004
- 屋顶草坪喷水施工方案
- 第9课 提土旁与石字旁教学设计-2025-2026学年小学书法西泠版四年级上册-西泠版
- 辽宁沈阳出版发行集团有限公司及所属企业招聘笔试题库及答案详解(新)
- 胸椎后纵韧带骨化症
- 2025年中级注册安全工程师《安全生产法律法规》十年真题考点
- 2025未签合同劳动争议仲裁申请书
- 2025年职业指导师考试试卷:实践操作
- 幼儿园2025师德师风应知应会知识测试试题(附答案)
- 2025年北京中考真题英语试题及答案
- 搬运工具管理办法
- 撤资协议范本(2025版)
- 2025广西公需科目考试答案(3套涵盖95-试题)一区两地一园一通道建设人工智能时代的机遇与挑战
- 2025年公需课考试题库(附答案)
评论
0/150
提交评论