C++课设第30题自动出题20以内退位减法-课设电子文档.docx

C++课设第30题自动出题20以内退位减法-课设电子文档.docx

ID:58819158

大小:105.10 KB

页数:9页

时间:2020-10-25

C++课设第30题自动出题20以内退位减法-课设电子文档.docx_第1页
C++课设第30题自动出题20以内退位减法-课设电子文档.docx_第2页
C++课设第30题自动出题20以内退位减法-课设电子文档.docx_第3页
C++课设第30题自动出题20以内退位减法-课设电子文档.docx_第4页
C++课设第30题自动出题20以内退位减法-课设电子文档.docx_第5页
资源描述:

《C++课设第30题自动出题20以内退位减法-课设电子文档.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、河北工业大学计算机软件技术基础(VC)2015年课程设计报告学院机械工程学院班级机电141班姓名杨纳川学号成绩____一、题目:自动出题20以内退位减法(30)二、设计思路1、总体设计1)分析程序的功能让计算机随机输出100个20以内的退位减法,其中1~50题为诸如15-6=?形式的退位减法;51~75题为1?-4=7形式的退位减法;76~100题为:16-?=7形式的退位减法。利用随机函数生成运算数,然后获取符合范围的运算数,生成算式并保存正确答案。 使用循环语句把所需要使用的数字用数组记录下来,由于每个算式中要出现两个随

2、机的数字,所以应采用二位数组。算式的格式有一定的要求,即每个算式中不能出现两个两位数的数字,即每个算式中只能出现两个一位数的数字和一个两位数的数字。算式的种类分为三种,每种算式不同,所存储的数字也不一样。在输出的过程中随机输出,所以要采用随机函数。2)系统总体结构:首先利用二维数组把三种情况下可能出现的使用数字记录下来,然后利用随机函数随机生成符合要求和数目的数字,然后在用正确的表达形式让系统输出,从而达到预期的效果。由计算机随即输出100个20以内的退位减法,并且退位减法是形势不一样,分为三种形势第一种15-6=这种输出5

3、0个,第二种1?-5=8这种形势随机出现25个,第三种17-?=9这种形势随机输出25个。2、各功能模块的设计:说明各功能模块的实现方法设计分为两大模块模块函数名称存储阶段使用for循环输出阶段srand(time(NULL));1)利用数组把三种不同情况下的退位减法算式中所需要的数字记录下来,记录过程分为三个小模块,没个模块记录不同形式的算式所需要的数字。算式一共有145中可能,而且需要使用二维数组所以定义e[135][2].算式一共分为三类,第一类“15-7=”,第二类“1?-5=8”,第三类“10-?=3”。用e[0]

4、[0]到e[44][2]来记录第一种算式出现的所有数字,例如:15-7=在此算式中e[k][0]代表算式中的15,e[k][1]代表算式中的7,即e[k][0]代表此类算式中出现的第一个随机数所对应的数,e[k][1]代表此类算式中出现的第二个随机所对应的数字;用e[45][0]到e[89][2]来记录第二种算式出现的所有数字,例如:1?-5=8在此算式中e[k][0]代表算式中的5,e[k][1]代表此类算式中出现的第二个随机所对应的数字;用e[90][0]到e[134][1]此类算式中出现的第三个随机所对应的数字;例如1

5、0-?=3,在此算式中e[k][0]代表算式中的10,e[k][1]代表算式中的3,即e[k][0]代表此类算式中出现的第一个随机数所对应的数,e[k][1]代表此类算式中出现的第二个随机所对应的数字.算式对数字有要求,每次都只能输出一个二位数字,两个一位数字,所以被减数减减数之后必须为为一位数字,因此在数据的存储过程使用for循环语句。第一种类型的算式第一个出现的必须为大于等于10的二位数所以“for(i=10;i<19;i++)”但是必须要求减去第二个数后的得数为一位数,因此在“for(intj=(i+1)%10;j<1

6、0;j++)”来记录所有可能出现的数字。但是第二种和第一种不一样它随机输出的两个数字都为一位数所以用“for(i=1;i<10;i++)for(intj=10-i;j<10;j++)”来记录第二种可能出现的数字。第三种类型同第一种类型。2)输出模块利用随机函数把符合要求的算式以正确的形式输出并且保证不同形式的算式所输出的个数符合题目要求。输出过程需要掉应随机函数,但是随机函数需要变量因子来控制每次所输出的算式不一样因此采用时间随机函数“srand(time(NULL));”这样就可以实现每次运行程序输出的结果不同。第一种算式

7、要求输出50个因此采用循环“for(i=0;i<50;i++)”第二种和第三种的算式需要输出25个,因此采用循环“for(i=0;i<25;i++)”。随机函数可能不在所需要的区间之内,当不在区间内的情况下把所随机出现的数字进行减一处理“i—”直到所得的数字在所要求的区间内为止,则进行输出“cout<=0&&rand()<45)所得的随机函数会超过135,因此程序会出现

8、越界现象,使得程序无法运行。因此定义“b=rand()”让b进行比较,若不在区间内的情况下进行减一,直到数字在所需要的区间为止。为了美观,每行输出5个算式“if(a%5==0)cout<

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

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

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