早教吧作业答案频道 -->英语-->
创建一个三角形类Triangle,这个三角形有三个点(属性),每个点都是一个Point对象,这个三角形类有一个public方法isTriange(Pointp1,Pointp2,Pointp3),这个方法能够判断三个点能否构成一个三角形
题目详情
创建一个三角形类Triangle,这个三角形有三个点(属性),每个点都是一个Point对象,这个三角形类有一个public方法isTriange(Point p1,Point p2,Point p3),这个方法能够判断三个点能否构成一个三角形【提示:在这个类中建立一个private方法float getLength(Point p1,Point p2)通过这个方法可以得到两个点之间的距离】;这个三角形还有两个public方法 getArea()【可以得到这个三角形的面积】和getTotalLen()【可以得到这个三角形的边长】;最后建立一个测试类加以验证
▼优质解答
答案和解析
#include "math.h" //平方根 double sqrt(double) 平方 double pow(double x,double y);
class Triangle
{
private:
Point p1;
Point p2;
Point p3;
public:
bool IsTriangle(Point p1,Point p2,Point p3); //判断
bool IsTriangle(); //重载
float GetLengh(Point p1,Point p2); //A B 距离
float GetArea(); //面积
float GetTotalLen(); //周长
public:
Triangle(Point x1,Point x2,Point x3) {p1=x1;p2=x2;p3=x3} //初始化
}
float Triangle::GetArea()
{//面积 (1/4)√[(a+b+c)(a+b-c)(a+c-b)(b+c-a)
float a,b,c;
a = GetLengh(p1,p2);
b = GetLengh(p2,p3);
c = GetLengh(p3,p1);
return (float)sqrt((a+b+c)(a+b-c)(a+c-b)(b+c-a))/4
}
float Triangle::GetTotalLen()
{
return GetLengh(p1,p2)+GetLengh(p2,p3)+GetLengh(p3,p1);
}
float Triangle::GetLengh(Point p1,Point p2)
{ //公式 ∣AB∣=√[(X1-X2)^2+(Y1-Y2)^2
return (float)sqrt( pow(p1.x-p2.x)+pow(p1.y-p2.y) );
}
bool Triangle::IsTriangle(Point p1,Point p2,Point p3)
{
if(GetLength(p1,p2)>p3&&GetLength(p2,p3)>p1&&GetLenght(p1,p3)>p2)
return ture;
else
return false;
}
bool Triangle::IsTriangle()
{
return IsTriangle(p1,p2,p3);
}
//测试
Triangle my1(7,8,9);
if(my1.IsTriangle())
puts("yes");
else
puts("No");
class Triangle
{
private:
Point p1;
Point p2;
Point p3;
public:
bool IsTriangle(Point p1,Point p2,Point p3); //判断
bool IsTriangle(); //重载
float GetLengh(Point p1,Point p2); //A B 距离
float GetArea(); //面积
float GetTotalLen(); //周长
public:
Triangle(Point x1,Point x2,Point x3) {p1=x1;p2=x2;p3=x3} //初始化
}
float Triangle::GetArea()
{//面积 (1/4)√[(a+b+c)(a+b-c)(a+c-b)(b+c-a)
float a,b,c;
a = GetLengh(p1,p2);
b = GetLengh(p2,p3);
c = GetLengh(p3,p1);
return (float)sqrt((a+b+c)(a+b-c)(a+c-b)(b+c-a))/4
}
float Triangle::GetTotalLen()
{
return GetLengh(p1,p2)+GetLengh(p2,p3)+GetLengh(p3,p1);
}
float Triangle::GetLengh(Point p1,Point p2)
{ //公式 ∣AB∣=√[(X1-X2)^2+(Y1-Y2)^2
return (float)sqrt( pow(p1.x-p2.x)+pow(p1.y-p2.y) );
}
bool Triangle::IsTriangle(Point p1,Point p2,Point p3)
{
if(GetLength(p1,p2)>p3&&GetLength(p2,p3)>p1&&GetLenght(p1,p3)>p2)
return ture;
else
return false;
}
bool Triangle::IsTriangle()
{
return IsTriangle(p1,p2,p3);
}
//测试
Triangle my1(7,8,9);
if(my1.IsTriangle())
puts("yes");
else
puts("No");
看了 创建一个三角形类Triang...的网友还看了以下:
一个长方形和一个正方形周长相等.正方形边长是8米,长方形的长是12米.1这个长方形的周长和宽分一个长 2020-03-30 …
在三角形ABC中,AB,BC,AC三边长分别为根号5,根号10,根号13,求这个三角形的面积.运用 2020-04-05 …
有一堆苹果,十个十个数剩九个,九个九个数剩八个,八个八个数剩七个,七个七个数剩六个,六个六个数剩五 2020-04-06 …
知道一个扇形的半径是1.19米弧度是22.5°求弦长怎么算扇形的弦和两个半径构成一个三角形,过圆心 2020-04-27 …
一个正方形,如果边长增加12厘米,现在这个正方形面积就是原来的4倍,原来这个正方形的面积是多少?如 2020-06-21 …
一箱石榴,如果5个5个地数,最后还多1个,如果3个3个地数,最后也多一个,如果七个七个地数,最后一 2020-07-07 …
(1)七巧板的2块部件能组成一个三角形吗?3块呢?5块呢?6块呢?7块呢?(2)用2块部件能组成正 2020-07-14 …
1)有一个三角形,它的面积与直径为100厘米的半圆面积相等,三角形底边长是314厘米,则三角形底边 2020-07-19 …
如果一个正方形的四个顶点都在三角形的三条边上,称该正方形是该三角形的内接正方形,若锐角△ABC的面 2020-08-03 …
如果一个正方形的四个顶点都在三角形的三条边上,称该正方形是该三角形的内接正方形,若锐角△ABC的面 2020-08-03 …