码云地址:https://git.oschina.net/ybsnn/four_formula
大题目:完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序
从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”。
一、程序设计及实现
a.需求分析
1.四则运算是小学数学计算教学中的难点内容,也是孩子们出错率最高的题型之一。因而设计两个数的四则运算题库,提高孩子们的计算能力以及反应能力。
2.在没有括号的算式里,如果只有加、减法或者只有乘、除法,都要从左往右按顺序计算。
3.整数也能写成分数形式,适用于分数四则运算。
4.虽说有些结果也能用小数形式表示,可是不精确。所以最终结果不管是整数还是分数,我都设计为分数形式。
b.功能设计
1.基本功能
- 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
- 运算符为 +, −, ×, ÷
- 并且要求能处理用户的输入,并判断对错,打分统计正确率
- 要求能处理用户输入的真分数, 如 1/2, 5/12 等
- 使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
Myapp.exe -n 10
2.扩展功能
对于错误答案的四则算式,输出正确答案
3.高级功能
用户输入可以比较自由,增加撤回功能。
c.设计实现
1.解题思路:
- 随机生成整数或真分数、运算符
- 生成式子,计算并储存参考答案
- 打印输出,用户输入答案
- 比较答案,判断正误。
- 统计答对的题目,计算并输出正确率
2.结构体:
储存分数fraction
typedef struct fraction //分数形式 { int a; int b; }Fraction;