设计如下类:请问哪里错了?

香蕉牛奶巧克力 2017-03-01 04:23:09

#include<iostream>
#include<cmath>
using namespace std;

class point
{
int x,y;
public:
point(int xx,int yy)
{
x=xx;
y=yy;
}
point(point &p)
{
x=p.x;
y=p.y;
}
int getx()
{
return x;
}
int gety()
{
return y;
}
}

class Line
{
point p1,p2;
public:
Line():p1(1,2),p2(3,4)
{
}
Line(Line &p3,Line &p4)
{
p1=p3;
p2=p4;
}

}

class Triangle
{
Line l1,l2,l3;
double x,y,z;
public:
Triangle(point p1,point p2,point p3,point p4,point p5,point p6)
{
x=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
y=sqrt((p3.x-p4.x)*(p3.x-p4.x)+(p3.y-p4.y)*(p3.y-p4.y));
z=sqrt((p5.x-p6.x)*(p5.x-p6.x)+(p5.y-p6.y)*(p5.y-p6.y));
}
double area()
{
if((x+y)>z&&(x+z)>y&&(y+z)>x)
return sqrt((x+y+z)*(x+y-z)*(x+z-y)*(z+y-x))/4;
else
return 0;
}
void show()
{
int i;
i=area();
if(i==0)
cout<<"三边不能构成三角形"<<endl;
else
cout<<area()<<endl;
}

};

void main()
{
int a,b,c,d,e,f;
cin>>a>>b>>c>>d>>e>>f;
Triangle T(a,b,c,d,e,f);
T.show();

}
...全文
110 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
A-Point 2017-03-01
  • 打赏
  • 举报
回复
你在main函数调用三角形构造函数错了,是六个点,不是六个整数啊
flying_music 2017-03-01
  • 打赏
  • 举报
回复

#include<iostream>
#include<cmath>
using namespace std;

class point
{
public:
	int x,y;

	point(int xx=0,int yy=0)
	{
		x=xx;
		y=yy;
	}
	point(point &p)
	{
		x=p.x;
		y=p.y;
	}
	int getx()
	{
		return x;
	}
	int gety()
	{
		return y;
	}
};

class Line
{
	point p1,p2;
public:
	Line():p1(1,2),p2(3,4)
	{
	}
	Line(point &p3,point &p4)
	{
		p1=p3;
		p2=p4;
	}

};

class Triangle
{
	Line l1,l2,l3;
	double x,y,z;
public:
	Triangle(point p1,point p2,point p3,point p4,point p5,point p6)
	{
		x=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y)*1.0);
		y=sqrt((p3.x-p4.x)*(p3.x-p4.x)+(p3.y-p4.y)*(p3.y-p4.y)*1.0);
		z=sqrt((p5.x-p6.x)*(p5.x-p6.x)+(p5.y-p6.y)*(p5.y-p6.y)*1.0);
	}
	double area()
	{
		if((x+y)>z&&(x+z)>y&&(y+z)>x)
			return sqrt((x+y+z)*(x+y-z)*(x+z-y)*(z+y-x))/4;
		else
			return 0;
	}
	void show()
	{
		int i;
		i=area();
		if(i==0)
			cout<<"三边不能构成三角形"<<endl;
		else
			cout<<area()<<endl;
	}

};

void main()
{
	int a,b,c,d,e,f;
	cin>>a>>b>>c>>d>>e>>f;
	Triangle T(a,b,c,d,e,f);
	T.show();

}
如有问题欢迎继续追问,没问题请及时结贴,谢谢

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧