第二次作业
GIT地址 | https://github.com/ChildishChange/Calculator |
GIT用户名 | niuerduo |
学号后五位 | 32285 |
博客地址 | https://home.cnblogs.com/u/niuerduo/ |
作业链接 | https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/homework/7582 |
项目背景#
阿超家里的孩子上小学一年级了,这个暑假老师给家长们布置了一个作业:家长每天要给孩子出一些合理的,但要有些难度的四则运算题目,并且家长要对孩子的作业打分记录。
作为程序员的阿超心想,既然每天都需要出题,那何不做一个可以自动生成小学四则运算题目与解决题目的命令行 “软件”呢。他把老师的话翻译一下,就形成了这个软件的需求:
程序接收一个命令行参数 n,然后随机产生 n 道加减乘除(分别使用符号+-*/来表示)练习题,每个数字在 0 和 100 之间,运算符在 2 个 到 3 个之间。
由于阿超的孩子才上一年级,并不知道分数。所以软件所出的练习题在运算过程中不得出现非整数,比如不能出现 3÷5+2=2.6 这样的算式。
练习题生成好后,将生成的 n 道练习题及其对应的正确答案输出到一个文件 subject.txt 中。
13+17-1=29
11*15-5=160
3+10+4-16=1
15÷5+3-2=4
这次阿超选择使用他最拿手的 C++ 语言来完成这样的需求,工欲善其事必先利其器,第一步就需要先安装一个好用的 IDE ,在这里我们推荐使用 Visual Studio 2017。
配置环境
在此之前,因为专业关系,学习的是C#语言,所以已经安装了Visual Studio Community 2017,并配置好了需要的相关库文件。
克隆项目#
1、注册登录自己的Github账号,进入阿超的仓库https://github.com/niuerduo/Calculator
2、将阿超的四则运算库拷贝到自己的同名仓库中,若Fork变为灰色,则拷贝成功。
3、复制绿色按钮处的可克隆项目地址。
4、安装Git后,在 我的电脑 中任意找一个目录,打开 Git 命令行软件(Windows上可在空白处右键打开 Git Bash ),输入 git clone ,其中 即我们刚刚复制的项目地址。
5、进入项目文件夹 AchaoCalculator ,新建一个文件夹,重命名为你的 Github 账号名。
项目设计
代码设计
1、首先新建一个测试项目,右键单击解决方案,添加一个新建项目,在类型里选择 单元测试 ,这里新建了一个名为 Calculator_UnitTest 的单元测试项目。
2.添加引用
3.项目测试
其他的一些基本操作
1.插入断点
如下图在48行设置了一个断点,在行48左侧会出现一个红点
2、单步运行
设置好断点之后开始调试,这时可以看到程序已经运行到刚刚打的断点处前,且下方的自动窗口可以看到各个变量的值。
3、添加监视
回归测试
单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复、改进或重构之后的正确性。也就是说,在每次修改完 Bug 之后,我们其实都需要运行一遍来看看是不是满足之前所有的单元测试样例。所以,在每次因为现有的 failed test 而修复原有代码后,最好都全部运行一遍单元测试,保证以前 passed test 仍然是可以通过的。
效能分析
点击 IDE 顶部菜单栏中的 分析,即可看到 性能探查器 ,勾选 CPU使用率 。
输入想生成的算术式子个数n,较大的n探测效果更好,即使程序没有执行完成,效能分析也是可以强行结束的。让程序跑几十秒之后,就可以结束。点击效能分析工具界面左上角的 停止收集 即可停止收集数据。