第二次个人作业
|||
|:--|:--|
|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#语句忘得太多了,遇到了太多问题,导致无法正确引用类,以后一定要多去写代码,一定要熟练的掌握这些基础知识。