题目描述
  我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
  能够自动生成四则运算练习题
  可以定制题目数量
  用户可以选择运算符
  用户设置最大数(如十以内、百以内等)
  用户选择是否有括号、是否有小数
  用户选择输出方式(如输出到文件、打印机等)
  最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)

角色分配
  领航员:李健,主要负责代码审查及测试用例的设计,并辅助驾驶员完成部分功能。
  驾驶员:李佳昕,主要负责编写代码、测试功能和后期修改。
  代码的coding地址:https://git.dev.tencent.com/dtid_d6b0780bdefc3f9c/four.git

解决方案
  我打算将题目中的要求分为几个模块分别编写最后在主函数中一起调用,分别为加法计算模块、减法计算模块、乘法计算模块、除法计算模块,混合运算模块和主函数模块。

  主函数模块流程图如下:

  主函数代码如下:

执行结果
  因为生成情况太多,所以挑选一个最复杂的作为样例来执行即生成随机数目有括号的小数混合运算题目
  执行截图如下:

图形化界面
利用VS提供的MFC应用程序项目实现图形化界面。

  加法模块代码如下:

  执行结果如下:

总结
  这是结对编程的第二次作业,也是真正意义上的让两人合作来完成一个项目。开始的时候我们两人还在为如何分配角色进行了一番讨论,之后通过再三考虑决定由我来担任驾驶员的角色。刚开始选择做这个题目时,我觉得应该会很快做出来,但做的过程中遇到了很多的问题,一方面是因为没有思路,另一方面则是因为很久没有进行长时间的编程练习导致对某些算法的运用不太熟练。当我完成第一个版本时,自我感觉程序没有什么问题,但发给我的伙伴李健后,我的伙伴给我指出了一些我没有考虑到的情况,后面经过调试发现确实程序有一些瑕疵。由此可以看出结对编程中每一个人的身份都是很关键的。最后按照我们的理解,基本可以实现题目要求的功能。另外,在学习如何设计图形化界面中,学习MFC相关知识也对我有很大的帮助,让我真正体验到做一个软件的感觉。同时这次结对编程也让我体会到了合作进行项目的好处:两人可以互相鼓励,增加成员积极性,并且还可以互相监督,加快任务进程,还能互相学习编程技巧这些都对我之后编程学习有很大的帮助,也希望我能在接下来的团队编程中能有好的表现。

同伴的博客地址
https://www.cnblogs.com/harunosuke/p/10809193.html

posted on 2019-05-04 21:49  李佳昕  阅读(257)  评论(0编辑  收藏  举报