- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
毕业,课程,设计,数据结构,算法,火车毕业,课程,设计,数据结构,算法,火车
目录
设计目的
设计任务及要求
2.1 基本要求
2.2 课程设计内容
课程设计报告
3.1 主要功能
3.2 功能的实现
3.2.1 程序结构
3.2.2 逻辑功能
3.2.3 各个函数之间的调用关系
3.3 运用的数据结构知识
运用的数据结构知识
实现结果
心得体会
一、设计目的
培养学生运用算法与数据结构的基本知识解决实际编程中的数据结构设计和算法设计问题。
培养学生独立设计程序与解决问题的能力,培养学生团队协作集成程序模块及调试能力。
培养学生初步的软件设计及软件测试的能力。
设计任务及要求
2.1 基本要求
学生必须仔细阅读《数据结构》课程设计指导书,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。
学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。
2.2 课程设计内容
《推火车》棋牌游戏
课程设计报告
3.1主要功能?
自主出牌
判断可否赢牌
保留所剩的牌
把赢得的牌放到末尾
判断胜负
判断出牌是否合法
3.2主要功能的实现
自主出牌
struct queue q1, q2;
struct stack s;
int book[8];
int i, t;
q1.head = 1; q1.tail = 1;
q2.head = 1; q2.tail = 1;
s.top = 0;
for (i = 1; i = 7; i++)
book[i] = 0;
判断是否赢牌
for (i = 1; i = 4; i++)
{
scanf_s(%d, q2.data[q2.tail]);
q2.tail++;
}
while (q1.headq1.tail q2.headq2.tail)
{
t = q1.data[q1.head];
if (book[t] == 0)
{
q1.head++;
s.top++;
s.data[s.top] = t;
book[t] = 1;
}
else
{
保留桌上还剩的牌
q1.head++;
s.top++;
s.data[s.top] = t;
book[t] = 1;
把赢得的牌放到末尾
q2.head++;
q2.data[q2.tail] = t;
q2.tail++;
while (s.data[s.top] != t)
{
book[s.data[s.top]] = 0;
q2.data[q2.tail] = s.data[s.top];
q2.tail++;
s.top--;
判断胜负
if (q2.head == q2.tail)
{
printf(XXwin\n);
排序算法
if (s.top0)
{
printf(\n桌上的牌是);
for (i = 1; i = s.top; i++)
printf( %d, s.data[i]);
}
else
printf(\n桌上已经没有牌了);
}
查找算法
for (i = 1; i = 4; i++)
{
scanf_s(%d, q1.data[q1.tail]);
q1.tail++;
}
3.2.1 程序结构
Book 桌面
Head 头牌
Tail 尾牌
3.2.2逻辑功能
开始
开始
否把赢得的牌放在手中牌的末尾是对方出牌打出下张牌判断可否赢牌牌自主出牌
否
把赢得的牌放在手中牌的末尾
是
对方出牌
打出下张牌
判断可否赢牌牌
自主出牌
判断胜负
判断胜负
游戏结束
游戏结束
3.2.3 各个函数之间的调用关系
输入主函数 int main()
创建和初始化栈和队列
struct queue q1, q2;
struct stack s;
调用for函数向队列中插数
for (i = 1; i = 7; i++)
book[i] = 0;
条件结构 if else
3.3 运用了哪些数据结构的知识?
初始化队列
struct queue q1, q2;
struct stack s;
int book[8];
int i, t;
初始化栈
q1.head = 1; q1.tail = 1;
q2.head = 1; q2.tail = 1;
入栈
s.data[s.top] = t;
实现结果
心得体会
学习软件离不开数据结构,通过课设实践,得到很多东西,实践比理论重要,不能眼高
您可能关注的文档
- Android的界面设计-课程设计报告32.doc
- 5住宅楼施工组织设计及施工图预算.doc
- Android的界面开发课程设计报告5.doc
- Android登录界面-课程设计报告【数据库认定】3.doc
- android开发测试课程设计报告3.doc
- android模拟器--课程设计报告【数据库认证】.doc
- android开发设计-课程设计报告【数据库认定2】.doc
- Android数据库认定--课程设计报告.doc
- 毕业设计-Android用户登陆系统课程设计.doc
- Eclipse-软件测试课程设计报告2.doc
- 2024-2025学年广西钦州市高二下册3月月考地理检测试卷(附答案).docx
- 医院感染管理基本知识.pptx
- 2024-2025学年广西壮族自治区崇左市高二下册3月月考地理检测试题(附解析).docx
- 农村土地流转纠纷问题与治理对策—以内蒙古Q村为例19000字【论文】 .docx
- 医院空气消毒管理规范.pptx
- 2021-2022学年山西省吕梁市高二上学期期末调研测试政治试题(Word版).doc
- 2024-2025学年广西壮族自治区钦州市高一下册3月月考地理检测试题(附答案).docx
- 2024-2025学年广西壮族自治区玉林市高二下册3月月考地理检测试题(附解析).docx
- 2024_2025学年新教材高中语文第三单元第7课短歌行归园田居其一学案部编版必修上册 .pdf
- 企业年金使用教程.pptx
最近下载
- 民用无人机驾驶员训练手册(供参考).doc VIP
- 今日头条机构入驻协议3篇.docx
- 肺部结节影的影像学诊断与鉴别诊断.ppt
- 2025年山东省青岛西海岸新区中考一模训练语文试题(含答案) .pdf VIP
- 民用无人机驾驶员训练手册(2020).docx VIP
- 人教PEP版(2024)三年级下册英语Unit 6 Numbers in life单元整体教学设计(共6课时).docx
- 国网电动汽车服务有限公司招聘笔试题库2022.pdf
- 自娱自乐攻略适用21.0211新春版 by龙行天下Iray.xlsx VIP
- 基于单片机的智能衣柜控制系统设计.docx
- 搅拌站沙石供应合同模板.docx VIP
文档评论(0)