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