(一)问题及代码:
#include <iostream>
#include<cmath>
using namespace std;
class Triangle
{
public:
void setABC(double x,double y,double z);
double perimeter();
double area();
private:
double a,b,c;
};
int main()
{
Triangle tri1;
tri1.setABC(4,5,6);
cout<<"三角形周长:"<<tri1.perimeter()<<'\t'<<"面积为:"<<tri1.area()<<endl;
return 0;
}
void Triangle::setABC(double x,double y,double z)
{
a=x;
b=y;
c=z;
}
double Triangle::perimeter()
{
return a+b+c;
}
double Triangle::area()
{
double z;
z=0.5*(a+b+c);
return sqrt(z*(z-a)*(z-b)*(z-c));
}
(二)运行结果:
(三)问题及代码:
#include <iostream>
#include<cmath>
using namespace std;
class Triangle
{
public:
Triangle(double x=1,double y=1,double z=1)
{a=x;b=y;c=z;}
double area();
double perimeter();
bool isTriangle()
{
if(a+b>c&&b+c>a&&a+c>b)
return true;
else return false;
}
double getA()
{
return a;
}
double getB()
{
return b ;
}
double getC()
{
return c;
}
void showmessage();
private:
double a,b,c;
};
double Triangle::perimeter()
{
return a+b+c;
}
double Triangle::area()
{
double z;
z=((a*a+b*b-c*c)/(2*a*b));
return 0.5*a*b*sqrt((1-z*z));
}
void Triangle::showmessage()
{
if(isTriangle())
{
cout<<"三条边为:"<<getA()<<','<<getB()<<','<<getC()<<endl;
cout<<"三角形的周长为:"<<perimeter()<<'\t'<<"面积为:"<<area()<<endl;
}
else
cout<<"不能构成三角形"<<endl;
}
int main()
{
Triangle Tri1(7,8,9);
Tri1.showmessage();
return 0;
}
(四)运行结果:
(五)问题及代码:
#include <iostream>
#include<cmath>
using namespace std;
class Triangle
{
public:
Triangle(double x=1,double y=1,double z=1)
{a=x;b=y;c=z;}
Triangle (Triangle &p);
double area();
double perimeter();
bool isTriangle()
{
if(a+b>c&&b+c>a&&a+c>b)
return true;
else return false;
}
double getA()
{
return a;
}
double getB()
{
return b ;
}
double getC()
{
return c;
}
void showmessage();
private:
double a,b,c;
};
Triangle::Triangle (Triangle &p)
{
a=p.a;
b=p.b;
c=p.c;
}
double Triangle::perimeter()
{
return a+b+c;
}
double Triangle::area()
{
double z;
z=((a*a+b*b-c*c)/(2*a*b));
return 0.5*a*b*sqrt((1-z*z));
}
void Triangle::showmessage()
{
if(isTriangle())
{
cout<<"三条边为:"<<getA()<<','<<getB()<<','<<getC()<<endl;
cout<<"三角形的周长为:"<<perimeter()<<'\t'<<"面积为:"<<area()<<endl;
}
else
cout<<"不能构成三角形"<<endl;
}
int main()
{
Triangle Tri1(7,8,9);
Tri1.showmessage();
Triangle Tri2(Tri1);
Tri2.showmessage();
return 0;
}
(六)运行结果:
(七)问题及代码:
#include <iostream>
#include<cmath>
using namespace std;
class Triangle
{
public:
Triangle(double x=1,double y=1,double z=1)
{a=x;b=y;c=z;}
double area();
double perimeter();
bool isTriangle()
{
if(a+b>c&&b+c>a&&a+c>b)
return true;
else return false;
}
double getA()
{
return a;
}
double getB()
{
return b ;
}
double getC()
{
return c;
}
void showmessage();
private:
double a,b,c;
};
double Triangle::perimeter()
{
return a+b+c;
}
double Triangle::area()
{
double z;
z=((a*a+b*b-c*c)/(2*a*b));
return 0.5*a*b*sqrt((1-z*z));
}
void Triangle::showmessage()
{
if(isTriangle())
{
cout<<"三条边为:"<<getA()<<','<<getB()<<','<<getC()<<endl;
cout<<"三角形的周长为:"<<perimeter()<<'\t'<<"面积为:"<<area()<<endl;
}
else
cout<<"不能构成三角形"<<endl;
}
int main()
{
Triangle Tri1;
Tri1.showmessage();
Triangle Tri2(1.5);
Tri2.showmessage();
Triangle Tri3(1.5,1.5);
Tri3.showmessage();
Triangle Tri4(7,8,9);
Tri4.showmessage();
return 0;
}
(八)运行结果: