软工第二次作业:熟悉使用工具

GIT地址 https://github.com/xiaonannanbuchengxian
GIT用户名 xiaonannanbuchengxian
学号后五位 61225
博客地址 https://www.cnblogs.com/xiaonannanbuchengxian/
作业链接 https://www.cnblogs.com/harry240/p/11515697.html



请以博客记录的方式,体现环境配置过程(包括遇到了哪些问题,你是如何解决的)

环境配置过程中并没什么太大问题,因为是在之前就已经在使用VS了,所以现在回想起来似乎下载顺利,安装顺利。最开始是不知道如何用C++项目编码,但由于老师讲了如何使用C++项目进行编码,就知道了,因此这次也很熟悉了。




体现你代码设计的思路(注意:请保证代码能够运行通过)

首先想如何先设计四则运算的代码,然后想产生随机数、随机运算符如何设计出来,之后就没那么麻烦了。
呐,代码+注释在下面()

#include <iostream>
#include <time.h>

using namespace std;


int main()
{
    int N,num1, num2, num3, count = 0, result, resultTrue, flag;
    char op1, op2;
    
    cout << "请输入你想生成的题目数目:" << endl;
    cin >> N;//题数
    cout << "这里有" << N << "道题,开始计算吧!";
        
    srand(time(NULL));//生成随机数

    do {
        num1 = rand() % 100 + 1;
        num2 = rand() % 100 + 1;
        num3 = rand() % 100 + 1;

        if (num1 % num2 != 0 || num2 % num3 != 0 || (num1 / num2) % num3 != 0)
        {
            num1 = rand() % 100 + 1;
            num2 = rand() % 100 + 1;
            num3 = rand() % 100 + 1;//保证运算中不会出现小数
        }
        else
    {
            count++;//生成一个算式并计算后count加1
        switch (num1 % 4)//随机生成第一个运算符
        {
        case 0:
            op1 = '+';
            break;
        case 1:
            op1 = '-';
            break;
        case 2:
            op1 = '*';
            break;
        case 3:
            op1 = '/';
            break;
        default:
            break;
        }
        switch (num2 % 4)//同上,随机生成第二个运算符
        {
        case 0:
            op2 = '+';
            flag = 0;
            break;
        case 1:
            op2 = '-';
            flag = 0;
            break;
        case 2:
            op2 = '*';
            if ((op1 == '*') || (op1 == '/')) flag = 0;
            else flag = 1;
            break;
        case 3:
            op2 = '/';
            if ((op1 == '*') || (op1 == '/')) flag = 0;
            else flag = 1;
            break;
        default:
            break;
        }
        cout << num1 << " " << op1 << " " << num2 << " " << op2 << " " << num3 << " " << "=";//生成算术式

        if (flag == 0)//运算先后顺序的确定,flag0为先计算num1,num2,flag1为先计算num2,num3
        {
            resultTrue = 0;
            switch (op1)
            {
            case '+':
                resultTrue = num1 + num2;
                break;
            case '-':
                resultTrue = num1 - num2;
                break;
            case '*':
                resultTrue = num1*num2;
                break;
            case '/':
                resultTrue = num1 / num2;
                break;
            default:
                break;
            }
            switch (op2)
            {
            case '+':
                resultTrue += num3;
                break;
            case '-':
                resultTrue -= num3;
                break;
            case '*':
                resultTrue *= num3;
                break;
            case '/':
                resultTrue /= num3;
                break;
            default:
                break;
            }
        }

        else
        {
            resultTrue = 0;
            switch (op2)
            {
            case '+':
                resultTrue = num2 + num3;
                break;
            case '-':
                resultTrue = num2 - num3;
                break;
            case '*':
                resultTrue = num2*num3;
                break;
            case '/':
                resultTrue = num2 / num3;
                break;
            default:
                break;
            }
            switch (op1)
            {
            case '+':
                resultTrue += num1;
                break;
            case '-':
                resultTrue -= num1;
                break;
            case '*':
                resultTrue *= num1;
                break;
            case '/':
                resultTrue /= num1;
                break;
            default:
                break;
            }
        }

        cin >> result;
        if (result == resultTrue)
            cout << "Right!你真的太棒了!" << endl;
        else
            cout << "faulse!继续加油哦,进行下一题的计算吧!";
    }
    }

    while (count <= N-1);//题数生成终止条件
    return 0;
}

我太难了




记录你使用github克隆项目以及提交代码的整个过程(包括遇到的问题,你是如何解决的)

克隆项目真的花费了我不少时间,尤其是开始我居然那个什么阿超的仓库地址都弄错了,直到后来问同学,才晓得。之后就是说说克隆,看见文章里提到——注意,默认克隆的分支是 java,请使用 git checkout cplusplus 命令切换到 C++ 项目,这儿花费了我不少时间,一直在想,网上查弄清楚咋转换,结果再问了同学之后才知道没有转换用其他方法也行,哎,我太难了~

把Cherish的阿超四则运算生成器克隆到自己的仓库中。

将阿超四则运算生成器项目克隆到本地文件中。

Git commit -m命令将文件快照到commit项目中。git status查看当前文件是否完全快照到项目中。

git push直接讲项目推送至Github原项目中。

这儿可以看见线上仓库中已经有了上传的文件了。
注:登陆操作时忘记截图了......难受。




记录你对项目进行单元测试和回归测试的过程(包括你遇到的问题,解决的方法是什么)

单元测试倒是测试出来了。似乎前面几步也比较顺利,但是到引入Calculator工程的接口定义头文件时,就不会做了......(未完待续...见下)



就是在这儿应该有引入Calculator工程的接口定义头文件的截图的,但是我好像跳过了,但是结果也测试出来了,好像也对。

感想:,我...太难了我,我太难了,我太难了啊!这次作业真的能让人学习到许多,不懂多问,对Github以及Git的使用进一步了解熟悉了,还有单元测试和回归测试也是,更加了解了,我想说,自学的东西还有许多,它们等待着我去学习,值得我去学习,而我也必须花费更多的时间去学习。

猜你喜欢

转载自www.cnblogs.com/xiaonannanbuchengxian/p/11564390.html