这是我参与 8 月更文挑战的第 26 天,活动详情查看: 8月更文挑战
软件要求:
c/c++32位编译器,在windowsxp环境下安装,本次实验选择了vc++ 6.0.
首先用Rational Sample中Hello world测试。
实验过程遇到问题如下:
VC++6.0编译时出错,错误为: LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
解决方案:
控制台项目要使用windows子系统, 而不是console, 设置: [Project] –> [Settings] –> 选择”Link”属性页, 在Project Options中将/subsystem:console改成/subsystem:windows
再在vc++6.0上编写三角形代码。源码如下:
#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;
int main () {
double a,b,c;
cout <<"输入三角形三条边"<<endl;
cin >>a>>b>>c;
if (a == 0||b == 0||c == 0) cout<<"不能构成三角形"<<endl;
if(a+b<=c&&a+c<=b&&b+c<=a&&a-b>=c&&a-c>=b&&b-c>=a)
cout<<"不能构成三角形"<<endl;
else if (a == b, b==c)
cout <<"此三角形为等边三角形"<<endl;
else if (a == b ||a == c ||b == c)
cout <<"此三角形为等腰三角形"<<endl;
else cout <<"此三角形为普通三角形" <<endl;
int maxNum = _cpp_max(a,_cpp_max(b,c));
int minNum = _cpp_min(a,_cpp_;min(b,c));
int midNum = a + b + c - maxNum - minNum;
int tmp1 = minNum * minNum + midNum * midNum;
int tmp2 = maxNum * maxNum;
if(tmp1 == tmp2){
printf("直角三角形\n");
}
else if(tmp1 < tmp2){
printf("钝角三角形\n");
}
else if(tmp1 > tmp2){
printf("锐角三角形\n");
}
return 0;
}
此过程中出现错误如下:
error C2065: ‘max’ : undeclared identifier
error C2065: ‘min’ : undeclared identifier
解决方案:
因为在vc++中min 与max与<windows.h>中传统的min/max宏定义有冲突,故将min(),max()改为_cpp_min(),_cpp_max().
Purify 专注于内存检测,其高级内存调试功能能够查找内存错误的根源并提供错误位置等详细信息。
PureCoverage 用于测试代码覆盖率,能够提供精确到行级别的覆盖率信息。
而 Quantify 用来测试代码性能,它能够提供图形化的函数调用展示,突出性能瓶颈,以供性能调优之用。
运行结果如下:
程序没有出错。 运行结果为:
Call Graph:这张图很明了的展示了各个函数的调用关系,更能准确知道各个函数调用次数,平均调用时间等。
今天的文章Purifyplus对三角形程序的自动化测试分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/14235.html