第二次作业————熟悉工具

第二次作业——熟悉使用工具

Git地址在这里
Git用户名2786865424
学号后五位61315
博客地址博客地址
作业链接作业链接
  • 请以博客记录的方式,体现环境配置过程(包括遇到了哪些问题,你是如何解决的)
    按照老师的步骤一步一步进行配置,在使用过程中会遇到一些细小的问题,但都很容易解决,目前来说未遇到不懂的情况。
  • 体现你代码设计的思路(注意:请保证代码能够运行通过)
    1、要生成一个四则运算则要生成运算数和运算符号利用char op(int n)函数和random()函数产生随机数用来随机生成运算符
char op(int a)
{
    char c[4] = { '+','-','*','/' };
    return c[a];
}

2、利用famula函数开始生成表达式

string formula()
{
    string suanshi;
    int num1, num2, temp, a, t,count,i,j,Q;
    num1 = random() % 100 + 1;
    temp = num1;
    suanshi += to_string(num1);
    count = random() % 2 + 1;
    for (i = 0; i < count; i++)
    {
        char c;
        a = random() % 4;
        c = op(a);
        num2 = random() % 100 + 1;
        if (c == '/')
        {
            while(temp<num2){
                temp = random() % 100 + 1;
                num2 = random() % 100 + 1;
                suanshi = to_string(temp);
            }
            while (temp%num2 != 0)
            {
                Q = temp % num2;
                num2 = Q;
            }//为了使两个数能够整除
        }
        suanshi+= op(a) + to_string(num2);
        t = temp;
        temp = num2;
        q1.push(t);
        q1.push(num2);
    }
    return suanshi;
}

3、利用栈对算术式进行求值

void Result(T k[], int n) {
    int i, top = 0, a, b;
    char c;
    for (i = 0; i < n; i++)
    {
        if (top == 0)
        {
            c = k[i].oppp[top];
            s1.push(k[i].sss[top]);
            s1.push(k[i].sss[top + 1]);
            s2.push(c);
            if (c== '*')
            {
                s2.top();
                a = s1.top();
                b = s1.top();
                k[i].result = a * b;
                s1.push(k[i].result);
            }
            if (c == '/')
            {
                s2.top();
                a = s1.top();
                b = s1.top();
                k[i].result = b/ a;
                s1.push(k[i].result);
            }
            top++;
        }
        else if (top > 0 && top < k[i].ca - 1)
        {
            s2.push(k[i].oppp[top]);
            s1.push(k[i].sss[top + 1]);
            if (k[i].oppp[top + 1] == '/' || k[i].oppp[top + 1] == '*')
            {   
                if (k[i].oppp[top] == '*')
                {
                    s2.top();
                    a = s1.top();
                    b = s1.top();
                    k[i].result = a * b;
                    s1.push(k[i].result);
                }
                if (k[i].oppp[top] == '/')
                {
                    s2.top();
                    a = s1.top();
                    b = s1.top();
                    k[i].result = b / a;
                    s1.push(k[i].result);
                }
                top++;
            }
            else
            {
                if (k[i].oppp[top] = '-')
                {
                    s2.pop();
                    a = s1.top();
                    b = s1.top();
                    k[i].result = b - a;
                    s1.push(k[i].result);
                }

            }
        }
        else if (top == k[i].ca - 1)
        {
            s1.push(k[i].sss[top + 1]);
            s2.push(k[i].oppp[top]);
            c = s2.top();
            do {
                a = s1.top();
                b = s1.top();
                if (c == '-')
                {
                    k[i].result = b - a;
                    s1.push(k[i].result);
                }
                if (c == '+')
                {
                    k[i].result = b + a;
                    s1.push(k[i].result);
                }
                if (c== '*')
                {
                    k[i].result = b * a;
                    s1.push(k[i].result);
                }
                if (c== '/')
                {
                    k[i].result = b / a;
                    s1.push(k[i].result);
                }
            } while (!s2.empty());
        }
        s1.empty();
    }
}

4、将生成的算术是写入文件


void wenjian(string s[], int n)
{
    int i;
    ofstream out;
    out.open("daan.txt");
    for (i = 0; i < n; i++)
    {
        out<<s[i]<<endl;
    }
    out.close();
}

1784365-20190922211120147-1279050798.png
1784365-20190922211131155-366591528.png

  • 记录你使用github克隆项目以及提交代码的整个过程(包括遇到的问题,你是如何解决的)
    1、使用GitHub克隆项目完全没有问题。
    1784365-20190922203206189-1628009896.png

2、使用GitHub提交代码
**噼里啪啦一顿操作后
1784365-20190922203554668-1945496626.png
1784365-20190922205320193-256886732.png

1784365-20190922205329171-24105815.png

1784365-20190922205340009-766963129.png

1784365-20190922205350163-507543447.png

1784365-20190922205406221-1757249296.png

1784365-20190922205416403-1496214167.png

别问我为什么这么弄,毕竟我就是个弟弟

感想

在这次作业中我发现了许多自身的不足,有许多的东西到最后都没有整明白,课后应该多花功夫去实践,单元测试·,回归测试,一直没弄明白,就连GIT也不知道叫没有交上,我果然是个弟中弟

转载于:https://www.cnblogs.com/2786865424SH/p/11569340.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值