ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:24.69KB ,
资源ID:9946310      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9946310.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(24点游戏程序设计说明书.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

24点游戏程序设计说明书.docx

1、24点游戏程序设计说明书*大学课 程 设 计 说 明 书学生姓名: 学 号: 学 院: 信息与通信工程学院 题 目: 24点游戏程序设计 指导教师: 职称: 2015 年1 月19 日 *大学课程设计任务书 14/15 学年第 一 学期学 院: 信息与通信工程学院 专 业: 电子信息科学与技术 学 生 姓 名: 学 号: 题 目: 24点游戏程序设计 起 迄 日 期: 2015年1月12日2015年01月23日课程设计地点: 指 导 教 师: 学科部主 任: 下达任务书日期: 2015 年 1 月 12 日课 程 设 计 任 务 书1设计目的:通过设计,明确24点游戏的设计思想和设计过程,扎实

2、掌握VC、C+或C语言编程的整体框架和步骤,使学生具有一定综合分析问题和解决问题的能力。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):功能说明:具有24点游戏的各项功能。设计要求:课程设计的目的在于培养学生的综合素质,要求学生做到:(1)根据题目要求查阅有关资料,确定方案,写出设计方案;(2)根据对选题的理解,消化查阅资料,给出相关设计的流程图;(3) 在C语言、C+或VC环境下,实现各项功能;(4) 对结果进行分析总结。3设计工作任务及工作量的要求包括课程设计计算说明书(论文)、图纸、实物样品等:设计工作任务:(1) 了解课题背景,掌握基本技术,制定程序设计框架。(2) 完成

3、设计内容:包括程序流程图和完成实现功能的程序代码,写出设计说明书。(3) 设计答辩。工作量的要求:(1) 通过查阅资料了解与24点游戏程序设计相关的基本理论、原理以及背景知识,理解选题意义;(2) 掌握与24点游戏程序相关的设计思想、原理、设计框架和步骤;(3) 完成24点游戏程序的功能和程序代码的实现;(4) 通过实验验证程序代码的可行性;(5) 给出设计总结。课 程 设 计 任 务 书4主要参考文献:VisualC+课程设计案例精编C+程序设计教材书C语言程序设计教程 5设计成果形式及要求:程序运行结果;课程设计说明书。6工作计划及进度:2015年1月12日 2015年1月 14 日:查资

4、料 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+程序设计课程后进行的一次全面的综合性上机实验。其目的在于为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实

5、际问题的能力。提高学生适应实际,实践编程的能力。计算24点:任意输入4位数字,利用+,-,*,/四则运算使之得到结果 24。输出所有不同算法的计算表达式,可为运算优先级而使用括号。关键词:24点、游戏设计目的、意义:通过设计,明确24点游戏的设计思想和设计过程,扎实掌握VC、C+或C语言编程的整体框架和步骤,使学生具有一定综合分析问题和解决问题的能力。设计内容:(正文)1主要方法为遍历和递归。2把输入的四个数放在一个数组n4中,然后任取其中任意两个(不能取同一个-即不能出现自己和自己运算的情况),然后用一个for和一个switch语句来实现这两个数的加减乘除运算,然后把运算的结果放到另一个数组

6、b4中并记录此运算的表达式(放到一个大一点的数组tm425中),同时把其他两个没用到的数也放到该数组中,然后重复以上过程(用遍历实现),最后先判定是不是最后一层运算,是的话在判定最后结果是不是等于24,等于24的话就把那个纪录运算式的数组输出。然后考虑到不能出现重复的(例如:1*2*3*4和2*4*3*1等等)在遍历的同时记录了第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符,对输出的时候做限定(例如:对运算符全*的只输出一遍等等)。3本次所需函数及语句主要有两个函数,一个主函数,用来输入四个数,并且完成初始化。还有一个count(float a,

7、char tem25,int n)函数,用来完成遍历,递归,与输出,其中a中存放要输入的4个数,tem25中放计算步骤,n是a中元素的个数。在函数体内还定义了b4和tm425用来完成递归,函数一开始先判定输出条件(是否是第三次运算,结果是否等于24),如果不满足条件就做遍历与递归,遍历用了3个for循环和1个switch语句来完成,然后为递归准备数据,用sprintf函数将运算式输出到数祖tm中,在输入运算式的同时把括号输到tm中,然后提取第一次运算的运算符与运算结果,提取第二次运算的运算符与运算结果和提取第三次运算的运算符,然后备份没用到的数据(为递归之用)。接下来进行递归重复上述过程。结果

8、分析:1.全面性:此问题要求输出结果为24的计算表达式,并且要求输出要全面,我考虑用for循环与递归实现遍历来保证输出的全面性,考虑到递归的一归到底,每一次完整递归都代表一种算法(详情见算法)。2.输出的判定和四位数字的类型:在输出的时候对最后结果等于24的判别,因为考虑到有除法,有可能中途结果可能会出现不能整除的情况与小数,所以输出的四个数都设为float型,且输出判定的时候用近似判定法,而不直接写让最后结果等于24(详情见算法)。3.重复性:如果用循环与递归保证了输出24的表达式的全面性,但不可避免的会出现重复,才开始我想在遍历与递归时,加一些限定条件来消除重复但是这样做不但会出错,还不能

9、保证它的输出全面性。于是我想在输出的时候加限定条件,使重复的只输出一遍。但是对于输入的那4位数字中如果有重复的话,程序结果还是会出现重复的,此问题尚未解决.(详情见算法)。4.括号问题的处理:对于括号问题,我规定对每一步的计算表达式,除了*之外,+,-,都加上括号,即让程序按自己规定的方向执行,输出的括号只是让人能看懂,其实在运算时不起作用(详情见算法)。5.输出:输出方面我以为用了遍历所以在每一层遍历都把运算表达式存到一个较大的数组中,在输出的时候如果满足输出条件(在遍历时纪录每次递归的第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符),就直接把

10、那个数组里的内容输出,遍历会直接去寻找表达式里的表达式(详情见算法)。设计心得:本次程序设计我主要在编程上收获很多,本次程序设计没有用到很难的算法,在编写的前期只运用了枚举法,然后嵌入使用较为繁琐,而没有出现编译上的问题,我在同学的帮助之下进行了完善。 本次程序数据结构主要就是用遍历和递归来实现,独立做完程序,让我对c+有更深一步的了解,也有进一步的掌握。整个程序像树一样,通过算法等有机结合,其中有着一次次递归。总体来说,就是对这颗树做遍历,找出符合要求的运算式。但是本程序还有不足之处,我们对于重复性问题还未有完全解决,但可以消掉一部分重复。很感谢这次的课程设计,它使我更加深刻地体会到多看专业书的重要性,只有掌握了一定量的专业知识才能得心应手地解决诸多问题;另外,做任何事都要有耐心,不要一遇到困难就退缩;在学习和工作中要时刻谨记“团结”二字,它好比通向成功的铺路石,不可或缺。参考文献:VisualC+课程设计案例精编C+程序设计教材书C语言程序设计教程

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2