24点游戏程序设计说明书

  • 格式:docx
  • 大小:59.61 KB
  • 文档页数:10

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

**大学课程设计说明书

学生姓名:学号:

学院:信息与通信工程学院

题目: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[] 中,然后提取第一次运算的运算符与运算结果,提

取第二次运算的运算符与运算结果和提取第三次运算的运算符,然后备份没用到

的数据(为递归之用)。接下来进行递归重复上述过程。