GI地址 | |
GI用户名 | JX12 |
学号后五位 | 62427 |
博客地址 | |
作业链接 |
1.配置:因为以前就安装有vs2017,这儿就不在写安装过程
2.登陆github:之前已经注册过账号了
3.下载git软件:不知道是网站的问题还是什么问题,在网页上下载会出错,后来我把下载链接复制到迅雷才下载成功。
4.克隆:按照要求做的,没遇到什么问题
5.按照要求建立了一个自己的文件夹
创建windows控制台应用程序
6.配置邮箱和账户名
7.创建单元测试
在测试时因为不熟悉软件,不知道怎样进行测试,作业要求里面的步骤看不懂,上网百度了之后,按照自己的理解对计算函数进行了测试。在这之前我的函数只有一个参数,测试的时候无法加入数和操作符,因为我是写到类里面的,之前直接引用的数和操作符,在这测试不了,所以又加了两个参数。
测试之后通过了
8.设置断点
因为代码是提前写好了,并运行成功了的,测试也没问题,就没有进行回归测试
9.效能分析
可以看出占用cpu最高的是循环结构
10.代码设计思路
a.因为要随机打印,就想到用c#中自带的random函数,伪随机产生运算符,根据运算符的个数来判断要产生几个操作数。
b.要打印多道四则运算,就用for语句实现。
C.上面两步都挺简单,第三步就是计算结果,这一步想了一下午才做出了。开始我想到数据结构这门课程讲到了四则运算的方法,我就复习了书上的内容,通过一步步的思考,我成功的运用'栈'和运算符的优先级达到了计算结果的目的。
下面是我写的计算结果的函数
1.优先级低的运算符入站,第一个if
2.优先级高的直接将数栈里的数出栈计算然后将结果入栈,第二个else if
3.在进行运算符栈里面优先级低的运算,这儿因为最多四个操作数,数栈里的数最后最多有两个数,我就没有写循环(偷了个懒),最后的 else
判断有没有小数:用被除数对结果求模,结果为0 则结果没有小数
判断结果是否为负:直接判断结果是否为负数。
11.代码上传
这一部分自己上网查了相关资料,加上同学的指导成功上传了代码
但是这部分不知道为什么一直显示的是'cheching emergeability'
然后想到会不会是浏览器的问题,就换了一个浏览器,果然就成功了
感想:1.经过这次的作业,我发现自己不懂得知识还很多,对软件还不够熟悉,编代码的能力还有大幅的提高空间,以后要更加努力的学习,多编代码,多看书。
2.这次作业的过程也让我明白了只有坚持到最后才能取得成功,我写作业那两天,都是凌晨之后才上床睡觉,即使躺在床上也在想要怎样写好这个函数,这个类有什么bug。好几次遇到没有一点办法的问题都想放弃,但是自己还是坚持了下来,最终完成了作业。