描述
定义一个Point类(只有一个带参的构造函数),在此基础上,定义一个Line类。
要求:Line包含三个Point对象,Line支持构造函数的重载(带参和不带参的构造函数),Line 类包含判断是否能构成三角形成员函数,Line 类包含计算周长的成员函数
输入
输入三个点的标:
输出
输出三角形的周长。如果不是三角形,输出no
样例输入
0 0
0 1
1 0
样例输出
3.414
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
class point{
private:
double x,y;
public:
point(double xx=0,double yy=0)
{
x=xx;y=yy; }
void setxy(double xx,double yy)
{
x=xx;y=yy;}
double getx(){
return x;}
double gety(){
return y;}
};
class line
{
private:
point point1,point2;
double len;
public:
void length(point a,point b)
{
len=sqrt((a.getx()-b.getx())*(a.getx()-b.getx())+ (a.gety()-b.gety())*(a.gety()-b.gety()));}
double permiter(line l2,line l3)
{
if( ( (len+l2.len)>l3.len) && ( (len+l3.len)>l2.len ) && ( (l2.len+l3.len)>len) ) cout<<setiosflags(ios::fixed)<<setprecision(3)<<len+l2.len+l3.len<<endl;
else cout<<"no"<<endl; }
};
int main()
{
int x1,y1;
int x2,y2;
int x3,y3;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
point p1,p2,p3;
p1.setxy(x1,y1);
p2.setxy(x2,y2);
p3.setxy(x3,y3);
line l1,l2,l3;
l1.length(p1,p2);
l2.length(p1,p3);
l3.length(p2,p3);
l1.permiter(l2,l3);
}