⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5.3.cpp

📁 关于友元的实验程序源代码
💻 CPP
字号:
#include <iostream.h>
#include "math.h"
class  Cpoint  
{
private:
	float x,y;
public:
	friend  class Triangle; 
	float GetX(){return x;}
       float GetY(){return y;}
	Cpoint(float a,float b)
	{
	  x=a;
	  y=b;
	}
    ~Cpoint(){};
};

class Triangle
{
private:
    Cpoint X,Y,Z;
	double l1,l2,l3;
public:
	Triangle(Cpoint X1,Cpoint Y1,Cpoint Z1);
    ~Triangle(){};
	friend double length(Triangle &);
	friend double area(Triangle &);
};
int top=0;

Triangle::Triangle(Cpoint X1,Cpoint Y1,Cpoint Z1):X(X1),Y(Y1),Z(Z1)
{  
   l1=sqrt((X.x-Y.x)*(X.x-Y.x)+(X.y-Y.y)*(X.y-Y.y));
   l2=sqrt((Z.x-Y.x)*(Z.x-Y.x)+(Z.y-Y.y)*(Z.y-Y.y));
   l3=sqrt((X.x-Z.x)*(X.x-Z.x)+(X.y-Z.y)*(X.y-Z.y));
   cout<<"A点到B点距离l1为:"<<l1<<endl;
   cout<<"C点到B点距离l2为:"<<l2<<endl;
   cout<<"A点到C点距离l3为:"<<l3<<endl;
   if((l1+l2)<=l3||(l1+l3)<=l2||(l3+l2)<=l1)
   {
    top=1; 
   cout<<"此三点不能构成三角形"<<endl;
   }
}

double length(Triangle &s)
{
    return (s.l1+s.l2+s.l3);                                      
}

double area(Triangle &f)  
{ double d,s;	
  d=(f.l1+f.l2+f.l3)/2;  
  s=sqrt(d*(d-f.l1)*(d-f.l2)*(d-f.l3));
  return s;
}

void main()
{ float c,d;
  cout<<"输入一个点A"<<endl;
  cin>>c>>d;
  Cpoint A(c,d);
  cout<<"输入一个点B"<<endl;
  cin>>c>>d;
  Cpoint B(c,d);
  cout<<"输入一个点C"<<endl;
  cin>>c>>d;
  Cpoint C(c,d);
  Triangle D(A,B,C);
  if(top==0)
  {   cout<<"三角形面积为:"<<area(D)<<endl;
	  cout<<"三角形周长为:"<<length(D)<<endl;  
   }
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -