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

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++ 项目,这儿花费了我不少时间,一直在想,网上查弄清楚咋转换,结果再问了同学之后才知道没有转换用其他方法也行,哎,我太难了~
1784287-20190921210932971-175612572.png
把Cherish的阿超四则运算生成器克隆到自己的仓库中。
1784287-20190921211004721-732172196.png
将阿超四则运算生成器项目克隆到本地文件中。
1784287-20190921211023879-436487746.png
Git commit -m命令将文件快照到commit项目中。git status查看当前文件是否完全快照到项目中。
1784287-20190921211038101-1377890242.png
git push直接讲项目推送至Github原项目中。
1784287-20190921211052322-1212650777.png
这儿可以看见线上仓库中已经有了上传的文件了。
注:登陆操作时忘记截图了......难受。


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


单元测试倒是测试出来了。似乎前面几步也比较顺利,但是到 引入Calculator工程的接口定义头文件时,就不会做了......(未完待续...见下)
1784287-20190921212009344-422986317.png
1784287-20190921212246044-1143162792.png
1784287-20190921212531055-170169181.png
就是在这儿应该有 引入Calculator工程的接口定义头文件的截图的,但是我好像跳过了,但是结果也测试出来了,好像也对。
1784287-20190921214150518-1730221008.png

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

转载于:https://www.cnblogs.com/xiaonannanbuchengxian/p/11564390.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值