第二次作业

青春壹個敷衍的年華 提交于 2019-11-30 04:03:27

第二次个人作业
|||
|:--|:--|
|Git地址| https://github.com/Ayo-Kong |
| GIT用户名 |Ayo-Kong |
|学号后五位|24134|
|博客地址|https://www.cnblogs.com/z1024/ |
|作业地址|https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/homework/7582|

一.配置环境

Visual Studio 2017

  • 安装过程中因为指导上面是C++,而我们需要用的是C#,加上我不太细心,所以导致我安装错误了几次,以后做事一定要细心。

二.克隆项目

  • 进入班级仓库链接点击“fork”将四则运算生成器复制到自己的仓库
  • 安装Git后,使用Git语句git clone 将仓库克隆到文件夹里

    三.程序设计

    由于代码量积累太少,C#虽然上学期学过,但是还是忘记了,一开始真的无从下手,然后在网上百度,看了很多不同的写法,然后慢慢回顾,终于可以开始慢慢入手了,虽然很多还是参考的网上的程序,但是我还是从里面学到了很多关键字的使用方法。下面是我的代码:

  • 首先是创建一个Inputs类,由于是要随机生成四则运算,所以我将运算符号放入数组中,通过生成随机数的方式,实现符号的随机生成,然后通过循环语句,实现两个数字之间有一个运算符。
public class Inputs
    {
        public static string Operation()
        {
            char[] O = { '+', '-', '*', '/' };//将运算符载入数组中          
            Random ra = new Random();//生成随机数
            int a = ra.Next(0, 100);
            int num = ra.Next(2, 4);
            string result = null;
            result = result + a;
            for (int y = 0; y < num; y++)
            {
                int o = ra.Next(0, 4);//在这四个数中随机,实现运算符的随机
                int b = ra.Next(0, 100);
                if (O[o] == '/')
                {
                    if (b != 0)
                        result = result + O[o] + b;
                    else
                        break;
                }
                else
                    result = result + O[o] + b;

            }
            return result;

        }
    }
  • 然后我在网上搜了知道了可以运用C#中自带的语句进行计算,并根据条件检验结果
public static string R(string T)
        {
            object ob = null;
            DataTable dt = new DataTable();
            ob = dt.Compute(T, "");
            while (ob.ToString().Contains(".") || int.Parse(ob.ToString()) < 0)//判断四则运算是否符合题目要求
            {
                T = Operation();
                ob = dt.Compute(T, "");//再次检验是否合乎要求
            }
            return T + "=" + ob.ToString();
        }
  • 最后主函数输出结果
class Program
    {
        static void Main(string[] args)
        {
            Inputs ca = new Inputs();
            string s = null;
            Console.WriteLine("-------------------------------四则运算题目----------------------------------");
            Console.WriteLine("请输入题目个数:");
            int x;
            x = int.Parse(Console.ReadLine());
            for (int i = 0; i < x; i++)
            {
                s = s + Inputs.R(Inputs.Operation()) + "\n";
                System.Threading.Thread.Sleep(100);
            }
            Console.WriteLine(s);
            Console.ReadKey();
            StreamWriter sw = new StreamWriter("D:\\软工作业\\AchaoCalculator\\Ayo-Kong\\result.txt");
            sw.Write(s);
            sw.Close();

        }
    }
  • 运行结果,并输出

    四.单元测试

  • 我一开始发现单元测试时我不能添加项目,在助教同学的帮助下,解决了这个问题
  • 测试代码及结果

    五.效能测试

  • 修改次数为10000次后测试

    六.提交代码

  • 提交作业

    七.总结

       这次作业对于我来说真的有点难,因为我所接触的代码量还是太少了,编程时有过许多挣扎,想到过用Switch语句来编写四则运算,但是C#语句忘得太多了,遇到了太多问题,导致无法正确引用类,以后一定要多去写代码,一定要熟练的掌握这些基础知识。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!