四则运算题目生成程序(基于控制台)

本文介绍了一个能够批量生成数学运算题目的程序,支持控制题目数量与数值大小,并将题目与答案分别存储于不同文件中,方便用户练习与核对。

一、需求分析

1、通过参数控制生成的题目个数;

2、通过参数控制生成的数字最大值;

3、将题目及答案分别存入文件subject.txt和文件answer.txt

4、用户在答题文件中进行答题,完成后与answer.txt的答案进行比较最后在控制台输出答题结果;

5、程序支持最多生产10000道题目;

二、功能实现

1、生成数学表达式:通过随机数对生成的数字最大值的参数进行取模控制数字的范围,照样通过随机数得到0~3的一个数分别对应“+”,“-”,“*”,“/”四个操作符,再随机操作符的个数。将两个操作数和一个操作符组成一个字符串随机判断是否给这个字符串加上括号,若操作符的个数大于0小于等于2则将所有操作符的个数控制在3个之内,此时可以随机一个操作符和操作数与前一个字符串组成一个新的字符串,再随机判断是否加上括号,依次反复。

2、计算数学表达式:将数学表达式分解转换成逆波兰式,通过逆波兰式计算结果。

3、通过文件io流将数学表达式及其结果分别存入文件subject.txt和文件answer.txt中。

4、将在答题文件中的内容和answer.txt从文件中读取出来进行比较来对答题结果进行一个输出。

三、代码实现

https://git.coding.net/qq1145163692/New-four-arithmetic-operations.git

四、功能演示

1、生成10000道题目

1212631-20170924023622493-1309767914.png

2、功能流程

(1)输入参数得到的数学表达式

1212631-20170924032658931-561462218.png

(2)subject.txt

1212631-20170924032823368-1263793128.png

(3)answer.txt

1212631-20170924032942103-2090473185.png

(4)1.txt

1212631-20170924033049009-60279486.png

(5)在1.txt中输入答案

1212631-20170924033248181-1582039711.png

(6) 答题结果

1212631-20170924034611290-89475287.png

五、PSP表格

PSP2.1Personal Software Process StagesTime Senior StudentTime
Planning计划1012
• Estimate估计这个任务需要多少时间1012
Development开发600200
• Analysis需求分析 (包括学习新技术)55
• Design Spec生成设计文档200
• Design Review设计复审200
• Coding Standard代码规范300
• Design具体设计2030
• Coding具体编码300435
• Code Review代码复审2010
• Test测试(自我测试,修改代码,提交修改)500705
Reporting报告2030
测试报告155
计算工作量53
并提出过程改进计划3010

六、总结

通过这次作业我深刻体会到了自己的不足之处,许多很简单的小问题自己却经常忽视,例如数据类型的转换和溢出导致自己消磨了太多的时间,同时在测试方面也花费了大量的时间,导致了效率非常低,和周围的同学相比更是太慢了。最后不得不通宵完成作业,好在基本功能都实现了,唯一查重功能由于时间问题不得已放弃还是有些遗憾,而且自己的代码也很简单,就这样提交有点尴尬。不过也让我打了一针强心剂:今后一定要做好计划!

转载于:https://www.cnblogs.com/qq1145163692/p/7584527.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值