mytriangle.h
bool is_valid()
{
}
double getarea()
{
}
mytriangle.cpp
#include"mytriangle.h"
#include<cstdio>
#include<cmath>
#define eps 1e-6
bool is_valid(double side1,double side2,double side3)
{
if(side1+side2<side3+eps)
return false;
if(side1+side3<side2+eps)
return false;
if(side2+side3<side1+eps)
return false;
return true;
}
double getarea(double side1,double side2,double side3)
{
double area,s;
s=(side1+side2+side3)/2;
area=sqrt(s*(s-side1)*(s-side2)*(s-side3));
return area;
}
4.5.cpp
#include"mytriangle.cpp"
#include<cstdio>
int main()
{
double side1,side2,side3;
scanf("%lf%lf%lf",&side1,&side2,&side3);
if(!is_valid(side1,side2,side3))
{
printf("error");
return 0;
}
printf("%.5f",getarea(side1,side2,side3));
return 0;
}
这就是把3个文件连起来了,不是很理解为何不能在4.5cpp里直接调用mytriangle.h,然后上网查了查。
#include".h"include".cpp"本质上就是把那个文件里的代码复制到这个文件里!
于是以上程序本质上就全塞到了4.5.cpp里面,变成了
bool is_valid()
{
}
double getarea()
{
}
#include<cstdio>
#include<cmath>
#define eps 1e-6
bool is_valid(double side1,double side2,double side3)
{
if(side1+side2<side3+eps)
return false;
if(side1+side3<side2+eps)
return false;
if(side2+side3<side1+eps)
return false;
return true;
}
double getarea(double side1,double side2,double side3)
{
double area,s;
s=(side1+side2+side3)/2;
area=sqrt(s*(s-side1)*(s-side2)*(s-side3));
return area;
}
#include<cstdio>
int main()
{
double side1,side2,side3;
scanf("%lf%lf%lf",&side1,&side2,&side3);
if(!is_valid(side1,side2,side3))
{
printf("error");
return 0;
}
printf("%.5f",getarea(side1,side2,side3));
return 0;
}
本文介绍了一个使用C++实现的三角形有效性验证及面积计算程序。通过定义三角形边长,程序首先判断这三条边是否能构成有效的三角形,并计算其面积。文章通过分离头文件和实现文件的方法组织代码,展示了如何正确地包含头文件进行函数声明与定义。
11万+





