1.任务要求

能够自动生成四则运算练习题
可以定制题目数量
用户可以选择运算符
用户设置最大数(如十以内、百以内等)
用户选择是否有括号、是否有小数
用户选择输出方式(如输出到文件、打印机等)
最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)

2.任务分工

驾驶员:汪江林

分工要求:
能够完成全部代码工作,程序基本实现全部要求功能,并将代码上传至coding.net或者GitHub代码托管系统中
能够对导航员在本次编程工作中起到的作用给出客观评价,并完成500字以上的总结,并且上传和队友工作时的照片

领航员:李东健

分工要求:
能够辅助驾驶员完成全部代码工作,并且为关键函数选用合适的覆盖标准设计测试用例,并编写代码进行单元自动测试
能够根据上次作业的代码检查表对驾驶员的本次工作进行评价
能够对本次工作完成500字以上的总结

3.程序运行展示

附:代码地址>>>四则运算自动生成程序


结果如下

4.单元测试

测试代码如下

#include "stdafx.h"
#include "..\ConsoleApplication1\test.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest1
{
    TEST_CLASS(UnitTest1)
    {
    public:
        TEST_METHOD(TestMethod1)
        {
            add = 1;//加法(1为需要,0为不需要)
            reduce = 1;//减法
            mult = 1;//乘法
            divide = 1;//除法
            fileoutput = 1;//文件输出
            int num = 100;//数值范围
            int m = 1;//是否含有括号
            int count = 20;//题目数
            int s = 1;//是否进行小数运算
            int result;
            result=test(A,k,count,s);
            Assert::AreEqual(result, 20);
        }
        TEST_METHOD(TestMethod2)
        {
            add = 1;
            reduce = 1;
            mult = 1;
            divide = 1;
            fileoutput = 1;
            int num = 10;
            int m = 1;
            int count = 10;
            int con = 1;
            int result;
            result = str(k);
            Assert::AreEqual(result, 10);
        }
    };
}

两个检测样例全部通过

5.代码审查表

由于本篇随笔采用Markdown编辑器,代码审查表写于新一篇随笔
地址>>> 四则运算自动生成代码审查表

6.任务总结

对驾驶员工作的评价

   我的这位搭档兼驾驶员具有很强的团体精神,对待工作认真负责积极主动。编写代码的工作完成得十分高效,没有任何拖沓,并且代码结构完整,功能全面,在后来的代码审查还有复审的过程中并未出现大问题。
   一开始并未实现增添括号的功能,在经过网上查询和同学请教之后,凭借驾驶员极强的学习能力使这个问题很快得到了解决,两人工作得以顺利交接。驾驶员在本次工作表现优异,作为领航员感觉十分轻松。

领航员自我总结

   在结对作业刚刚发布时,我们两个人就明确了分工,汪江林同学担任驾驶员,而我担任领航员,要求每人互相监督并完成相关的工作。
   在作业开始时我们遍一起商讨作业的内容以及大致方向,选择四则运算自动生成这个比较简单的题目。在编写过程中,两人互相交流意见和建议,编写过程较为顺利,遇到的问题都得到了解决。相比于一个人独立编程,我认为结对编程效率更高,思路清晰明确,编写的速度很快。独立编程时,难免出现一些自己难以发现的小BUG,但是当两个人一起合作的时候,这些问题就可以避免,节省时间,提高编程速率。所以这是一次非常愉快的合作。
   由于未深入学习GUI界面设计,所以图形化界面我们两人未能实现,这也算是一个遗憾,以后会抽空学习。