24点游戏程序设计说明书
- 格式:docx
- 大小:59.61 KB
- 文档页数:10
**大学课程设计说明书
学生姓名:学号:
学院:信息与通信工程学院
题目:24 点游戏程序设计
指导教师:
职称 :
2015年1 月19 日
**大学
课程设计任务书
14/15学年第一学期
学院:信息与通信工程学院
专业:电子信息科学与技术
学生姓名:
学号:
题目:24点游戏程序设计
起迄日期:2015年 1 月 12日~2015年 01 月 23 日课程设计地点:
指导教师:
学科部主任:
下达任务书日期:2015年1月12日
课程设计任务书
1.设计目的:
通过设计,明确 24 点游戏的设计思想和设计过程,扎实掌握 VC、C++或 C 语言编程的整体框架和步骤,使学生具有一定综合分析问题和解决问题的能力。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):
功能说明:
具有 24 点游戏的各项功能。
设计要求:
课程设计的目的在于培养学生的综合素质,要求学生做到:
(1)根据题目要求查阅有关资料,确定方案,写出设计方案;
(2)根据对选题的理解,消化查阅资料,给出相关设计的流程图;
(3)在 C语言、 C++或 VC环境下,实现各项功能;
(4)对结果进行分析总结。
3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:
设计工作任务:
(1)了解课题背景,掌握基本技术,制定程序设计框架。
(2)完成设计内容:包括程序流程图和完成实现功能的程序代码,写出设计说明书。
(3)设计答辩。
工作量的要求:
(1)通过查阅资料了解与 24 点游戏程序设计相关的基本理论、原理以及背景知识,
理解选题意义;
(2)掌握与 24 点游戏程序相关的设计思想、原理、设计框架和步骤;
(3)完成 24 点游戏程序的功能和程序代码的实现;
(4)通过实验验证程序代码的可行性;
(5)给出设计总结。
课程设计任务书
4.主要参考文献:
Visual C++ 课程设计案例精编
C++程序设计教材书
C语言程序设计教程
5.设计成果形式及要求:
程序运行结果;
课程设计说明书。
6.工作计划及进度:
2015年1月12日 ~2015年1月14日:查资料
2015年1月15日 ~2015 年 1 月 17 日:在指导教师指导下设计方案及程序
2015年1月18日 ~ 2015年 1月 20日:学生上机调试程序,指导教师辅导
2015年1月21日~2015年 1月 22日:完成课程设计说明书
2015 年 1月 23日:答辩
系主任审查意见:
签字:
年月日
目录
一、摘要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6
二、关键词⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6
三、设计目的、意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7
四、流程图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7
五、设计内容:(正文)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9
六、结果分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9
七、设计心得⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯10
八、参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯10
摘要: C++课程设计是学习完《 C++程序设计》课程后进行的一次全面的综合性上机实验。其目的在于为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力。
计算 24点:任意输入 4位数字,利用 +,-,*,/四则运算使之得到结果24 。输出所有不同算法的计算表达式,可为运算优先级而使用括号。
关键词: 24 点、游戏
设计目的、意义:通过设计,明确24 点游戏的设计思想和设计过程,扎实掌
握VC、C++或 C语言编程的整体框架和步骤,使学生具有一定综合分析问题和
解决问题的能力。
设计内容:(正文)
1主要方法为遍历和递归。
2把输入的四个数放在一个数组 n[4] 中,然后任取其中任意两个(不能取同一
个-- 即不能出现自己和自己运算的情况),然后用一个 for 和一个 switch 语句来实现这两个数的加减乘除运算,然后把运算的结果放到另一个数组b[4] 中并记录此运算的表达式(放到一个大一点的数组tm[4][25] 中),同时把其他两个没用到的数也放到该数组中,然后重复以上过程(用遍历实现),最后先判定是不
是最后一层运算,是的话在判定最后结果是不是等于24,等于 24 的话就把那个
纪录运算式的数组输出。然后考虑到不能出现重复的(例如:1*2*3*4 和2*4*3*1 等等)在遍历的同时记录了第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符,对输出的时候做限定(例如:对运算符全 * 的只输出一遍等等)。
3本次所需函数及语句主要有两个函数,一个主函数,用来输入四个数,并且完
成初始化。还有一个 count(float a[],char tem[][25],int n)函数,用来完成
遍历,递归,与输出,其中 a[] 中存放要输入的 4 个数, tem[][25]中放计算步骤, n 是 a[] 中元素的个数。在函数体内还定义了b[4]和 tm[4][25]用来完成递归,函数一开始先判定输出条件(是否是第三次运算,结果是否等于24),如果不满足条件就做遍历与递归,遍历用了 3 个 for 循环和 1 个 switch 语句来完成,然
后为递归准备数据,用 sprintf 函数将运算式输出到数祖 tm[] 中,在输入运算式的同
时把括号输到 tm[] 中,然后提取第一次运算的运算符与运算结果,提
取第二次运算的运算符与运算结果和提取第三次运算的运算符,然后备份没用到
的数据(为递归之用)。接下来进行递归重复上述过程。