在任务4的编写过程中虽然经过前两次的练习,整个程序的流程和思路都比较清晰。
- 生成的算式中的运算数必须为自然数(0、1、2……)或真分数(1/2、4/5 等分子比分母小的分数)。
- 乘号用 × 表示;除号用 ÷ 表示,代替 / 号。
- 算式中,运算符与运算数之间必须加空格,但若是分数形式,则不需要,如:3 + 1/2 。
- 能随机生成 2~3 个运算符的算式,如:2 + 3 * 4 ,注意此算式的答案也必须按照运算优先级进行计算。
- 能生成带括号的算式,如 (2 + 3) * 4 和 3 / (4 + 2)。括号的运算优先级要高于加减乘除。
- 在用户输入答案后,除显示对错之外,还需要显示此题的正确答案。
关于这次的优先级编写,我的做法是首先是对每个运算符进行优先级赋值。
然后找到每种运算的规律,对其进行分类规划判断其是否需要与运算符的优先度出现差误。
再根据运算符的优先度来判断是否加括号。电脑的计算也是通过运算符的优先度来进行的。
还有就是对变量的整体设置和使用,用变量n来表示客户输入的题目数,却在运行的时候出现了题目数与用户输入不一致的情况。
诸如此类的问题都是因为在设计变量的时候没有考虑周到,没有更详细的利用变量。