作业四 个人项目-小学四则运算 “软件”
本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186
我的github远程仓库的地址:https://github.com/Tysonnnn2/tysonnnn2
一、题目要求
像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。
具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:23 - 3 * 4 = 11
二、扩展要求
1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。
2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 5/8, 9/4 等。
三、构思设计
开发工具:vc++
编程语言:C语言
思路主要分为四大板块:
(1)生成随机数
(2)得出随机的式子
(3)结果判断
(4)计算正确率
四、主要代码
char getSignal(); //获取随机运算符函数
int random(double,double); //获取随机数函数
int getResult(int,int,char); //结果计算函数
int takeTest(); //题目生成函数
详细代码见git库Cpp1
五、结果展示
六、遇到的问题与体会
遇到的问题:不知道怎么产生随机的符号,在除法运算中比较多的问题需要解决,例如小数点的判断,还有除不尽的情况等。
解决方法:在网上查阅资料,还有之前课堂上的笔记。
体会:写c语言来说,是比java困难很多很多的,因为所有的东西都需要程序员考虑周全,而java有很多的函数和方法都是已经存在的,可以直接调用的。
七、时间统计
PSP2.1 | Personal Software Process Stages | Time Senior Student | Time |
Planning | 计划 | 8 | |
· Estimate | 估计这个任务需要多少时间 | 12 | 10 |
Development | 开发 | 90 | 100 |
· Analysis | 需求分析 (包括学习新技术) | 20 | |
· Design Spec | 生成设计文档 | ||
· Design Review | 设计复审 | 3 | 5 |
· Coding Standard | 代码规范 | ||
· Design | 具体设计 | 13 | |
· Coding | 具体编码 | 35 | 30 |
· Code Review | 代码复审 | 9 | |
· Test | 测试(自我测试,修改代码,提交修改) | 15 | |
Reporting | 报告 | 6 | |
· | 测试报告 | ||
计算工作量 | 2 | ||
并提出过程改进计划 |