📄 benq.cpp
字号:
#include<iostream.h>
#include<math.h>
void coordinate(double a[],double b[]);
class Cpoint
{
public:
double x,y;
friend double setx(int i);
friend double sety(int i);
};
class Tria
{
private:
Cpoint cd[4];
friend void setdata(Tria &l,double o,double p,double q,double r,double s,double t);
friend void area(Tria &info);
};
double a[4],b[4];
void main()
{
int i;
Tria info;
for(i=1;i<=3;i++)
{
a[i]=setx(i);
b[i]=sety(i);
}
coordinate(a,b);
setdata(info,a[1],a[2],a[3],b[1],b[2],b[3]);
area(info);
}
double setx(int i)
{
double m;
Cpoint cd[4];
cout<<"请输入坐标的横坐标:";
cin>>m;
cd[i].x=m;
i++;
return m;
}
double sety(int i)
{
double n;
Cpoint cd[4];
cout<<"请输入坐标的纵坐标:";
cin>>n;
cd[i].y=n;
i++;
cout<<endl;
return n;
}
void coordinate(double a[],double b[])
{
cout<<"("<<a[1]<<","<<b[1]<<")"<<endl
<<"("<<a[2]<<","<<b[2]<<")"<<endl
<<"("<<a[3]<<","<<b[3]<<")"<<endl;
}
void setdata(Tria &l,double o,double p,double q,double r,double s,double t)
{
if((o==p)&&(r==s)||(o==q)&&(r==t)||(q==p)&&(t==s))
{cout<<"有重点!!!无法构成三角形!!!!!"<<endl;}
else if((o/r==p/s)&&(o/r==q/t)&&(p/s==q/t))
{cout<<"三个点在一条直线上!!!!!!!无法构成三角形!!!!!"<<endl;}
else
{l.cd[1].x=o;l.cd[2].x=p;l.cd[3].x=q;l.cd[1].y=r;l.cd[2].y=s;l.cd[3].y=t;}
}
void area(Tria &info)
{
double l1,l2,l3,p;
l1=sqrt(pow((info.cd[1].x-info.cd[2].x),2)+pow((info.cd[1].y-info.cd[2].y),2));
l2=sqrt(pow((info.cd[1].x-info.cd[3].x),2)+pow((info.cd[1].y-info.cd[3].y),2));
l3=sqrt(pow((info.cd[3].x-info.cd[2].x),2)+pow((info.cd[3].y-info.cd[2].y),2));
p=(l1+l2+l3)/2;
cout<<"三角形的面积为:"<<sqrt(p*(p-l1)*(p-l2)*(p-l3))<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -