- 1、本文档共8页,可阅读全部内容。
- 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
- 2025年高考数学模拟考试卷(含答案).pdf
- 2025湖南张家口市永定区南庄坪街道办事处便民服务中心招聘公益性岗位人员1人笔试备考试题及答案解析.docx
- 2025湖南长沙轨道交通职业学院面向全国广纳贤才179人笔试备考试题及答案解析.docx
- 2025河南郑州市城市照明和绿化景观服务中心招聘公益性岗位人员21人笔试备考题库及答案解析.docx
- 2025年度“逐日追梦·照亮未来”日照市事业单位公开招聘优秀青年人才笔试备考题库及答案解析.docx
- 2025内蒙古巴彦淖尔市杭锦后旗教育局赴包头师范学院校园招聘6人笔试模拟试题及答案解析.docx
- 2025年高考数学模拟考试卷附答案.pdf
- 2025河南郑州市第六人民医院招聘笔试备考试题及答案解析.docx
- 2025湖南长沙宁乡市金海中学秋季教师招聘笔试模拟试题及答案解析.docx
- 2025福建人才教育科技发展有限公司招聘5人笔试备考试题及答案解析.docx
最近下载
- 民用无人机驾驶员训练手册(供参考).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)