GIT地址 | git地址 |
---|---|
GIT用户名 | Luo-Star |
学号后五位 | 62309 |
博客地址 | 我的博客首页 |
做业连接 | 做业连接 |
关于环境配置,我以前是配置过vs2017,可是当时我装的时候没有装c#的组件,因此须要从新进行安装。可是在从新进行安装的问题是,Visual Studio Installer下载安装的速度确实太慢了,因此我换了一种方式,我是下载的离线版本的VS2015(带有c++模块的)
上图是正在安装的图片,由于是离线版本,全部的组件已经下载完整了的,就只用执行安装就行了,仍是很是快的
这个是一个基础环境的配置,Development Settings 选择General 就行不用选择 C# ,咱们能够进去以后创建C#的项目,主题的话,我我的比较喜欢深色,选择了Dark。
到这里的话,基本上就完成了软件的安装了,c++的环境软件安装包自动的配置好了。html
自动生成小学四则运算题目与解决题目
首先要解决的问题是随机产生四则运算符号符号和随机产生数的问题,符号有+,-,*,/ 四种,随机数是在0-100中随机产生,那么就须要用到随机函数了
上图是我定义的Symbol类中的一个随机产生符号的方法,定义一个字符数组,数组中存储了四种运算符号,经过产生随机数当作数组下标来随机产生符号,并将产生的符号转换成字符串返回,可是自己C#中的产生随机数的函数就是产生的伪随机数,若是调用过快,产生的就会是同样的数,因此我加了Thread.Sleep(15); 这个休眠函数,防止产生的符号所有同样
一样的,得到随机数的方法与得到符号的方法相似,如上图
既然已经作好了随机产生运算符号和数的状况下,接下来天然是将随机产生的这些数和符号组成表达式,TwoSymbolCal()这个方法是产生含有两个运算符号的运算式子,在这个方法中,实例化一个Symbol a,经过调用 Symbol中的两个随机产生函数,得到随机符号和数字,并拼接成一个字符串(为啥是拼接成一个字符串呢?由于Compute方法的参数只接受字符串类型),利用DataTable的Compute方法进行计算最终的结果,再将最终结果拼接到以前计算表达式的字符串中,
这是产生含有三个运算符号的式子的方法,大致上和产生含有两个运算符号的运算式子的方法同样,这里就很少说
最后是主函数,主函数先让用户输入一个数,这个数表明题目数,而后进入while循环,由于是随机产生2-3个运算符号的式子,利用一样的方法,随机产生一个数并对2取余,若是余数为0,那么产生含有两个运算符号的运算式子,若是余数为1,那么产生含有三个运算符号的运算式子。而后咱们判断返回的结果中是否包含了负号和小数点,若是有则从新生成,若是没有就写入文本文件中。c++
这里已经成功从阿超克隆到本身仓库,可是在我安装好git以后,运行git bash时,没办法用教程中的那个方法进行克隆,
随后我进行了百度,当咱们须要进行克隆项目到本地的时候须要进行验证,而git的验证方式有两个,一种是使用SSH进行验证,另外一种是https进行验证,我选择了使用SSH来进行验证。
首先在 git bash中设置git的user name和email,邮箱是本身注册git的时候的邮箱,如上图所示
而后进行密钥的生成,最后在本地会获得两个文件,以下图
建立好了以后,咱们还须要在git上面添加咱们刚刚生成的ssh密钥,进入git的我的主页中的 settings,以下图
而后找到SSH and GPG keys进行添加SSH密钥,注意由于生成两个文件,咱们只要将后缀为.pub中的内容复制到key中,Title本身能够随便取一个而后点击 Add SSH key 就行了,而后咱们能够进行测试一下
好了,到这里,我就能够成功的用SSH进行克隆了。
克隆的时候应该注意一下,应该克隆本身帐号下的某个仓库,我以前就很盲目的照着教程一步步走,克隆命令也是,因此也致使了出错,因此咱们在看教程的时候,也要动点脑子,不能一味的去照抄照搬。到这里的话,个人克隆过程也基本完成了。git
代码提交没什么大的问题,但仍是有一个小小的问题,在从远程仓库中克隆了到本地以后,在克隆的文件夹中创建了一个文件夹用于放置本身的代码,可是没法上传到远程仓库
利用git push 上传的时候提示我everything up-to-date,我觉得我上传成功了,可是在远程仓库根本找不到,继续百度了一下,缘由是没有git commit -m "提交信息"
在我执行git commit -m "提交信息"了这条命令以后,在上传到远程仓库,就完成了。github
进行单元测试这个确实花了我不少时间,由于个人方法返回的是随机的符号和随机生成的数字,而单元测试中,Assert断言函数所提供的功能是实现指望值和实际值的对比,只能是两个肯定的,也多是我比较菜,我就用了一个最笨的办法。以下图
上图测试的一个随机生成运算符号的方法,由于返回的是字符数组中的随意的一个,我也不知道生成的是啥,我就用了一个if语句判断,若是生成是四个中的任意一个那么测试经过,不然不经过。由于个人方法,都是返回的这样的随机的,因此其余的测试方法是同样的。
最后这张图是对随机生成运算符的单元进行测试的结果。c#
在咱们对代码修复、改进或重构以后,还要从新运行一遍单元测试,看看是否知足以前的样例。对本身代码进行回归测试, 没有遇到特别大的问题,在此就不上传截图了。数组
上图是即将对个人程序进行CPU使用率的效能查看。
上面两个图,第一个是正在测试运行程序时的CPU使用率,第二张图是分析报告。bash
最开始作这一次做业的时候,由于在代码段困了好久,我当时觉得写代码是最痛苦的,自己本身不是很熟悉C#,语法什么的都忘得差很少了,可是当我艰难的写完代码段的时候,发现须要对本身写的代码进行测试,这就更让我很懵了,由于本身写的代码不是很好测试,由于每一个单元都是生成的随机的数或者随机的符号,最后用了一个比较笨的办法仍是实现了,对本身代码的单元测试。此次做业,让我对之前一些已经遗忘了的知识又从新拾捡起来,好比单元测试中的Assert断言函数,C#中的数组定义,类中的方法的建立,类中方法的自身调用等等,还有怎么去建立一个单元测试并对本身的代码进行测试,在已修改代码还要进行回归测试以及对代码的运行效能进行分析查看,以便于本身对某一个模块的代码进行改进以提升效率。ssh