算术24游戏 实验报告

算术24游戏 实验报告

ID:6382598

大小:315.00 KB

页数:15页

时间:2018-01-12

算术24游戏 实验报告_第1页
算术24游戏 实验报告_第2页
算术24游戏 实验报告_第3页
算术24游戏 实验报告_第4页
算术24游戏 实验报告_第5页
资源描述:

《算术24游戏 实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、目录1、任务书...............................12、需求分析.............................72.1程序的功能........................72.2输入输出的要求....................73、概要设计.............................74、详细设计.............................84.1各模块的类C码算法................84.2流程图.............................

2、95、调试分析以及设计体会.................105.1调试分析...........................105.2心得体会...........................126、使用说明.............................137、附录.................................14142、需求分析2.1程序的功能程序运行后产生4个扑克牌,对应4个整数,其中每个数字只能使用一次;任意使用+-*/(),构造出一个表达式,使得最终结果为24,这就是常见的算24点的游戏。在输

3、入表达式时程序会自动检测用户输入的数据是否为程序产生的那4个整数,如果不是就提醒用户输入有误,重新输入或退出程序。有的时候程序随机产生的扑克牌对应的整数可能不能算成24,如产生了4个A,这个时候用户只要点击无解程序就会自动退出了。2.2输入输出的要求输入的运算符只能是+、-、*、/、(、)这六个,输入的整数必须是程序随机产生的那四个数,而且每个数只能用一次。3、概要设计功能模块图24算法游戏随机发牌输入求解表达式计算表达式判断表达式的正误24算法游戏14的功能模块不多,也比较容易实现。基本思想就是由程序先随机产生4张扑克牌,每张扑克牌对应一个整

4、数,所以首先要有一个随机产生扑克牌的模块。接下来就是用户用程序产生的扑克牌来算24点了,所以要有一个输入用户去接表达式的模块。用户输入完成后,程序就开始计算表达式了,所以要有一个计算表达式的模块。程序计算完表达式后就要判断用户输入的表达式是不是为24点了,所以还有一个判断表达式正误的模块。这4个模块是逐步递进的,是要前一个模块的功能完成后,才能执行后一个模块,否则程序就将出错。程序所涉及的数据结构主要为整形和字符型,整形数据结构主要是用来计算表达式的,字符型数据结构主要是用来输入表达式的。程序所涉及的数据库结构主要有数组和栈,数组在计算表达式和

5、产生扑克牌是都要用到,栈只是用来计算表达式的。4、详细设计4.1各模块的类C码算法随机产生扑克牌函数for(循环4次){随机产生一个1到13之间的数,用switch语句输出产生的数,作为扑克牌的数,再随机产生一个数,也用switch语句输出,作为扑克牌的花色。把产生的数和花色组装成一个扑克牌用图形的方式显示出来;}将算术表达式转换为后缀表达式While(从exp读取字符ch,ch!=’’){ch为数字:将后续的所有数字均依次存放到postexp中,并以字符“#”标志数值串的结束;ch为做括号“(”:将次括号进栈道运算式栈op中;ch为右括号

6、“)”:将运算符栈op中的左括号“(”以前的运算符依次出栈并存放到postexp中,然后将左括号“(”删除;ch为“+”或“-”:将运算符栈op中的左括号“(”以前的运算符依次出栈并存放到postexp中,然后将“+”或“-”进栈;ch为“*”或“/”:将运算符栈op中“*”或“/”运算符依次出栈并存放到postexp中,然后将“*”或“/”进栈;}若字符串exp扫描完毕,则将运算符栈op中的所有运算符依次出栈并存放到postexp中。计算后缀表达式14While(从postexp读取字符ch,ch!=’’){ch为“+”:从栈st中出栈两

7、个数值a和b,计算c=a+b;将c进栈;ch为“-”:从栈st中出栈两个数值a和b,计算c=b-a;将c进栈;ch为“*”:从栈st中出栈两个数值a和b,计算c=a*b;将c进栈;ch为“/”:从栈st中出栈两个数值a和b,若a不为零,计算c=b/a;将c进栈;ch为数字等:将连续的数字串转换成数值d,将d进栈;}4.2流程图算术表达式转换成后缀表达式的流程图将算术表达式转换为后缀表达式将op中位扫描完的字符存到postexp中开始结束是否*p!=’’图3.2.114计算后缀表达式的流程图开始*q!=’’计算后缀表达式结束是否图3.2.

8、25、调试分析以及设计体会5.1调试分析当程序编译没有错误的时候,我觉得我的程序快要成功了。可是在运行的时候老是产生四张一样的扑克牌,但是单步调试的时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。