Visual Studio 2015的安装,另附最大子数组的实现与单元调试

     上个学期,由于不知名的原因,我的个人笔记本电脑的显卡驱动程序被破坏,个人能力又有限几次尝试修复都以失败告终,并且伴随着显卡驱动的失灵导致各种问题,进而电脑运行速度缓慢,基于以上原因,在刚刚过去的上个暑假,我到我所在的城市电脑售后对我的电脑进行了系统更新和清灰操作,这次重装系统,我依然选择了已经使用了一段时间的Win10系统,也正是由于系统盘的重做,导致原来下载好的一些软件无法再继续使用,故借着这次软件工程作业的机会,充新安装Visual Studio这款功能强大的编程软件。原来我使用的是Visual Studio 2013这款软件,但是了解到Visual Studio软件系列已经更新到Visual Studio 2015,借由着着尝鲜的想法,我从同学那里拷贝了Visual Studio 2015的安装包,下面我将具体的介绍我的整个安装过程与一些注意事项。

(注:以下图片选自网络,由于不知名原因个人当时的截图没有保存成功,请见谅)

     首先,以管理员身份双击安装包应用程序,等待程序自动检索完毕,会出现以下对话框。

     这里是第一个需要注意的点,选择好本地安装地址之后,下面会出现如上图所示的选项卡,我第一次安装就选择了第一项,如果选择了第一项,只是最基本最基本的Visual Studio 2015,甚至无法满足我们作为初学者的一些需要,所以务必选择第二项,这样不仅可以自主选择一些需要的功能,还可在以后的使用中从“工具”选项卡中的“扩展和更新”中自主加入一些其他功能,方便日后的使用。

先点选同意服务条款和条约方框之后点选下一步,勾选我们所需要的功能模块,对话框如下图。

 

由于以后需要用到C++的地方有很多,所以我把第一个选项卡编程语言里面的Visual C++及其子选项里面的所有选项全部勾选了,其他的我没有管,之后我选择了下一步。

最后确定完所需的选项将确定被下载之后,我点击了下载。

之后便是如上图所示的等待界面,大概过了一个多小时左右,对话框提示我安装完毕。

之后,下面有一个大的蓝色启动按钮,点击启动即可。

但是在我实际的安装过程中,在安装结束后,出现了一个安装问题,就是提示Windows 10 SDK安装程序失败,哈希数值不正确,如图。

以下是我在知乎网上找到的解决办法,不过如果什么也不做,也不影响正常的使用。

问题原因:

估计是网络问题。在用ISO安装SDK和模拟器的时候可以明显看到大量的网络使用。

解决办法:

1、安装vs2015 企业版但不安装vs2015自带的win10SDK和模拟器(安装vs2015选择自定义安装,将win10的SDK 和模拟 安装的选项去掉。)

2、下载win10SDK的的在线安装sdksetup.exe执行程序。下载并且安装。

3、将C:\Program Files (x86)\Windows Kits 文件夹下的内容拷贝到(在线sdk安装的文件夹)

     C:\Program Files (x86)\Microsoft SDKs\Windows Kits\ (vs自带的文件夹)

4、 再次安装vs2015企业版,将vs2015自带的win10SDK和模拟器选择进行安装

5、 再次修复安装vs2015


当然这个解决方法是建立在能下载独立SDK的基础上(如果网络条件允许的情况我把下好的SDK和模拟器上传网盘)。
为了节省时间,我没有按照以上的方法去做,至少现在可以保证我的正常使用,所以如果在日后的使用中出现什么问题再照以上方法解决也不迟。

下面解决作业中提到的最大子数组的问题。
问题如下:

(1)实现最大子数组和算法,并将该段代码上传至Coding.net系统中;

(2)自行选择合适的覆盖标准并设计测试用例对该段代码进行测试,并将测试结果发布在博客中,结果以表格形式完成。

 分析问题:

对于最大子数组的定义我参考了微博园的一位博友的博客,原文如下:

数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。

例如输入的数组为{1, -2, 3, 10, -4, 7, 2, -5},和最大的子数组为{3, 10, -4, 7, 2},因此输出为该子数组的和18。 

很容易理解,当我们加上一个正数时,和会增加;当我们加上一个负数时,和会减少。如果当前得到的和是个负数,那么这个和在接下来的累加中应该抛弃并重新清零,不然的话这个负数将会减少接下来的和。基于这样的思路,我们可以写出如下代码。

点击http://www.cnblogs.com/chinaxmly/archive/2012/10/10/2718621.html可访问他的博客。


 

代码已提交至Coding.net系统,详见链接https://git.coding.net/Mr_R/project-2.git

对代码的个别地方解释

(1)第一次用到的#include<vector>

     说白了,vector就是动态数组,对比于普通数组,他的好处就是对空间的利用率高,使用之前不需要事先设定好数组大小,在数组尾部插入删除节点时快于一般数组,但是在数组中间插入删除时就比较慢了,所以适合这一次作业的要求。

(2)第一次用到的单元测试功能

     其实,这个功能是Visual Studio 2015众多好用的功能里的一个,只是我们之前没有接触过,借着这次作业的机会,清楚下单元测试的使用方法,为日后的使用做铺垫。

     首先是在找到解决方案资源管理器,在解决方案上右键->添加新建项目->在VC++项目的子项目中选择测试选项->选择本机单元测试项目。这样单元测试项目,如下图。

创建完成后,空项目为。

将个人所做代码复制粘贴在

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest2

两段代码之间即可。

(3)对于上图“TODO: 在此输入测试代码”处的代码填写

这里实现的功能为测试程序运行之后的结果与实际计算的结果是否相同,进而判断程序是否正确,所以我填写了如下两段代码。

int ActualValue = main();
Assert::AreEqual(15, ActualValue);

第一段将主函数运行结果赋值给ActualValue,第二段比较手动计算的结果和程序计算结果的差异,并在测试资源管理器侧边栏给出测试结果。


 

下面以表格形式展示最终的测试结果

用例编号 用例描述 输入数据 预期输出数据 实际输出数据 通过/不通过 评价
1 最大子数组为全集 1,2,3,4,5 15 15 通过 结果正确,无问题
2 最大子数组小于全集 -1,-2,3,-4,5 5 5 通过 结果正确,无问题
3 全为负数 -1,-2,-3,-4,-5 -1 -1 通过 结果正确,无问题
4 空集 报错 0 不通过 没有考虑极端情况,已改正
5 有字母代表的非数字 1,2,3,4,A 报错 报错 通过 程序在这一项的容错率还可以

 

     以上为本人软件工程第二次作业全部内容,一定还有不足或者错误的地方,请老师,同学批评指正。

 

posted @ 2016-10-09 22:57  树先森  阅读(516)  评论(0编辑  收藏  举报