Line_类和对象

描述
定义一个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);
 }

猜你喜欢

转载自blog.csdn.net/weixin_45921943/article/details/105069215