一、需求分析
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道题目
2、功能流程
(1)输入参数得到的数学表达式
(2)subject.txt
(3)answer.txt
(4)1.txt
(5)在1.txt中输入答案
(6) 答题结果
五、PSP表格
PSP2.1 | Personal Software Process Stages | Time Senior Student | Time |
Planning | 计划 | 10 | 12 |
• Estimate | 估计这个任务需要多少时间 | 10 | 12 |
Development | 开发 | 600 | 200 |
• Analysis | 需求分析 (包括学习新技术) | 5 | 5 |
• Design Spec | 生成设计文档 | 20 | 0 |
• Design Review | 设计复审 | 20 | 0 |
• Coding Standard | 代码规范 | 30 | 0 |
• Design | 具体设计 | 20 | 30 |
• Coding | 具体编码 | 300 | 435 |
• Code Review | 代码复审 | 20 | 10 |
• Test | 测试(自我测试,修改代码,提交修改) | 500 | 705 |
Reporting | 报告 | 20 | 30 |
• | 测试报告 | 15 | 5 |
• | 计算工作量 | 5 | 3 |
• | 并提出过程改进计划 | 30 | 10 |