第二次作业

标题内容
Git地址https://github.com/Iskoqi/AchaoCalculator
Git用户名Iskoqi
学号后五位24222
博客地址https://www.cnblogs.com/Isxky/
作业链接https://www.cnblogs.com/Isxky/p/11552500.html

一、配置环境及过程

Git从官网下载,一直next直到安装结束。
vs2013是以前下载安装的,按照步骤安装的并未出现问题。

二、代码设计思路,测试和效能分析

1.代码设计思路与代码

因为是随机生成运算式的,肯定第一步先生成随机数,然后再随机生成运算符。因为并没有随机四则运算符,因此我先通过数组把四个运算符装进数组,然后设置一个变量用随机数给它赋值,使它的范围在0到3之间,所以随机数的产生就是运算符随机了。之后用循环使得其产生需要个数的式子,但是之后的答案的计算让我很麻烦。因为我之前是准备写有两个运算符的式子,但是计算结果就需要用十几个的if才能计算结果这无疑很浪费时间,所以我借鉴了同学使用的datatable的compute函数使得可以直接计算把数字和运算符结合起来的运算式的字符串的结果,并且后面再循环里面设了if函数判断是否答案有负数以及是否有分数。后面我在program里设置了提示语,包括四则运算式的个数,及是否要答案的式子。
具体的代码如下:
这部分为新添加的类

    class Iskoqi
     {
         int p1, p2, p3,a,b;
        char yn='a';
          Random rand = new Random();//生成随机数的对象
         public Iskoqi(char yn)
         {
            this.yn = yn;
         }
         public void size(int n)//四则运算函数
         {
            for (int i = 1; i <= n; i++)
            {
                 p1 = rand.Next(1,101);
                 p2 = rand.Next(1,101);
                 p3 = rand.Next(1,101);//生成随机数字
                 a = rand.Next(4);
                 b = rand.Next(4);
                 //int j = 0;
                 char[] ab = {'+','-','*','/'};//生成随机运算符
                 string result3 = p1.ToString() + ab[a].ToString() + p2.ToString() + ab[b].ToString() + p3.ToString();
                  DataTable dt = new DataTable();
            object ob = null;
            ob = dt.Compute(result3, "");
            if (Convert.ToInt32(ob) < 0 || ob.ToString().Contains("."))    //结果出现负数与分数,则重新生成
            {
                n++;
            }
            else
            {
                if (yn == 'Y' || yn == 'y')
                    Console.WriteLine(result3 + "=" + ob.ToString());
                if (yn == 'N' || yn == 'n')
                    Console.WriteLine(result3 + "=");
            }
            }
        }

这下面的为program的内容

class Program
   {
       static void Main(string[] args)
       {
            char yn='d'; 
            Console.WriteLine("输入题数:");
            int m= int.Parse (Console.ReadLine());
            Console.WriteLine("是否要结果y or n:");
            yn = char.Parse( Console.ReadLine());
            Iskoqi rad = new Iskoqi(yn);
            rad.size(m);
            Console.ReadLine();
        }
    }

2.单元测试

单元测试的图片
在这里插入图片描述

3.效能分析

因为已经有了了解,题量太少没有对比,所以我进行测试的时候就加大了题量,我是进行的9万题量的效能分析,第一次是进行的检测分析,结果如图,我们可以看见方法被调用的次数
在这里插入图片描述
在这里插入图片描述

4.断点

在每句代码的前面点击一下就会出现断点
在这里插入图片描述启动调试出现
在这里插入图片描述

5.条件断点

设置一个条件当条件满足时,断点运行
在这里插入图片描述
在这里插入图片描述

6.回归测试

回归测试就是在单元测试完了后因为一些功能的添加导致某些功能出现问题或者不出现问题,再重新进行测试判断是否出现问题。因为我就写了一个四则运算没有新的变化,所以不需要进行回归测试。

三、克隆项目以及提交代码

1.克隆项目

先用登录之前注册号的GitHub账号,然后点进上面提到了阿超的四则运算的班级库,然后就可以看见我们自己的GitHub中出现了同名的仓库,之前我犯了一个错误,我先自己创建一个仓库然后想输入班级仓库的地址然后fork过来,后面才知道要去班级仓库那里fork,如下图:
在这里插入图片描述
然后再使用下载好了的Git,先把fork的阿超的四则远算克隆到本地,输入git clone 加上自己的地址,因为之前没有记得截图所以现在就没有图片展示了。

2.提交代码

先通过配置文件通过git config --global user.name "Iskoqi"和git config --global user.email “654295958@qq.com”进行配置,然后进行git add .和git commit -m,分别是暂存到暂存区和把文件从暂存区转到本地仓库区。
在这里插入图片描述
然后我还进行了git status查看文件状态,然后就通过git push把文件从本地仓库转到远程仓库。
在这里插入图片描述
然后在我的本地仓库就可以看见了
在这里插入图片描述
然后根据步骤完成提交
在这里插入图片描述

四、总结

这次的实验可能是我大学以来最难受的一次,因为c#的学习已经过去了好久了,还经过了一次暑假,基本上大部分知识都忘了,需要重新学习,又因为这个实验里面涉及了一些新的东西,比如Git的使用,Git和GitHub的联合使用,还有一些细节,都特别的让人头痛,我对这些东西不了解,之前的链接里也不清楚,就自己慢慢的搜索着做。然后通过这次的实验,不得不说让我学到了很多,我了解了git和GitHub的一些功能和使用,比如仓库的提交和使用。同时在网上搜索的时候也了解了更多的东西,对于c#我也学习到了更多了,虽然还比不上以前才学完的时候,但是通过后面的学习我相信我会学到更多的东西,超过以前。

转载于:https://www.cnblogs.com/Isxky/p/11552500.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值