伙伴链接:http://www.cnblogs.com/haoying1994/
一、设计思路
在此前程序拥有的功能:加减有无负数,除法有无余数,打印方式有屏幕输出和文件输出以及算式可定制的功能的基础上,此次程序又添加了算式结果的计算,提示用户结果正确与否,正确与错误个数的功能。
1.对于运算符的选择和算式个数,各算式的长短均利用随机数函数产生。
2.对于算式计算方面:
只有两个数的加减乘除没有括号时:在减时考虑是否出现负数,除时考虑是否出现余数。
多个数的加减没有乘除和括号时:遇到减号考虑前面结果是否小于减数,是则改变运算符为加号以确保最终结果没有负数。
多个数的加减乘除没有括号时:在检索到式子中的乘除号时,判断其后面的符号,若有连续的乘除号,特别是有除号的时候,考虑是否需要余数,若有余数则利用找被除数因子的方法使连除的时候得数为整数,若无余数则将被除数和除数分别作为分子和分母保存起来。之后将只含有乘除号的连续子式先算出存入另一数组中,再与加减号相连的数进行相应的运算,在遇到加减运算符时,如果有余数,则利用通分的方法将结果保存为分数的形式。之后判断是否需要有负数,如果不需要负数,则在遇到减号时,将处在减数位置的式子利用随机数进行数值的重组,直到被减数大于减数为止。
3.对于算式输出方面:文件输出使用了ofstream文件输出流,输出到problems.txt中。
4.对于用户输入答案,判断用户输入字符串是否与正确结果相匹配,如果匹配,则提示恭喜你,答对了,否则提示回答错误,并且给出正确答案。利用循环计数判断正确回答题目的个数,在答题结束后显示在屏幕上。
二、源程序代码
三、运行结果截图
数量:5 打印方式:输到屏幕 乘除法:无 括号:无 负数:有 范围:0-10
数量:6 打印方式:输出到屏幕 乘除法:无 括号:无 负数:无 范围:0-20
数量:7 打印方式:输到屏幕 乘除法:有 括号:否 负数:无 范围:0-20
余数:有
数量:5 打印方式:输到屏幕 乘除法:有 括号:无 负数:有 范围:0-10
余数:无
四、编程总结分析
通过第三次四则运算实验中,我学习到了很多思想以及知识,锻炼了我的逻辑思维,使我提高了编程能力,受益匪浅。
在两次的实验中,四则运算程序已然可以实现诸多功能,有无负数,有无余数,可定制等功能,可以令算式出现在屏幕上,但是没有计算结果的输出。而在本次实验实现了运算结果的计算。 计算的编译和调试的过程中发现了许多问题,多次遇到计算结果不正确或者是跳不出循环,再来就是结果中分数的表示,结果错误或者是没有化简。在大体思路下具体的细节考虑的不周全,在这一过程中使我们的思路更加缜密了,对调试时出现的bug能够更快的找到解决方法。
我觉得让我学到更多的是这次的结伴这个主题,两个人一起开发可以相互学习到彼此编程方面的优点,可以培养彼此的合作意识,对将来在工作岗位上的团队合作帮助很大,在讨论过程中取长补短,吸取经验,学习技能,能够使编程效率大大提高。因此这次实验对我来说很有意义,在今后的程序开发时会起到很大的借鉴与帮助的效果,这次的结伴合作和愉快和成功!
五、项目计划日志
六、时间记录日志
七、缺陷记录日志