Red de conocimiento informático - Computadora portátil - C ?Programación, clase triangular

C ?Programación, clase triangular

#include

"iostream.h"

#include

"math.h"

clase

CPoint//definir punto

{

privado:

doble

x, y;

público:

PuntoC(doble

a, doble

b){x=a; y=b;}//Constructor

PuntoC (){x=0;y=0;}

void

Set( doble

a, doble

b) { x=a, y=b;}//Establecer coordenadas del punto

double

GetX(){return

x;}

doble

GetY(){return

y;}

};

clase

CTreiangle / /Clase triángulo

{

privado:

CPoint

x, y, z

doble <; /p>

s1, s2, s3;

público:

void

SetTriangle(CPoint

P1, CPoint

p2, CPoint

P3);

bool

Prueba();

doble

Área ();

};

void

CTreiangle::SetTriangle(CPoint

P1, CPoint

p2,CPoint

p3)//Establece los tres puntos del triángulo y calcula las longitudes de los tres lados

{

x = P1;

y=p2;

z=p3

s1=sqrt((x.s1=sqrt((x.GetX()- y .GetX())*(x.GetX()-y.GetX()) (x.GetY()-y.GetY())*(x.GetY()-y.GetY());

s2=sqrt((x.GetX()-z.GetX())*(x.GetX()-z.GetX()) (x.GetY()-z.GetY())* ( x.GetY()-z.GetY()))

s3=sqrt((z.GetX() -y.GetX())*(z.GetX()-y.GetX( ) ) (z.GetY()-y.GetY())*(z.GetY()-y.GetY()

}

bool

<); p>CTreiangle::Test()//prueba si es un triángulo, principio de tres puntos No *** línea

{

if((y.GetX()-x . ObtenerX())*z.Obtener

Y()==(y.GetY()-x.GetY())*z.GetX() x.GetY()*y.GetY()-x.GetY()*x.GetY() y.GetX ()*x.GetY())

devuelve

falso;

más

devuelve

verdadero ;

}

doble

CTreiangle: .Area()// Aplica la fórmula de Heron para calcular el área y regresa

{

doble

p, área

p=(s1 s2 s3)/2.0; -s1 )*(p-s2)*(p-s3));

retorno

área;

}

int

main()

{

CPoint

temp[3];/ Definir tres puntos

doble

tempx, tempy;

CTreiangle

treiangle;

while(1)

{

for(int

i=0;ilt;3;i)

{

coutlt;lt; "Por favor, introduzca el primero"lt; ;lt; i 1lt;lt; "Coordenada X del primer punto"lt;lt;endl;

cingt;gt;tempx;

coutlt;lt; Coordenada Y del primer punto "lt;lt;i 1lt;lt;" "lt;lt;endl;

cin gt;gt;tempy;

temp[i]. Set(tempx, tempy);

}

treiangle.SetTriangle(temp[0], temp[1], temp[2]); (!treiangle.Test())

{

coutlt;lt; "Los datos de entrada son ilegales y no se puede formar un triángulo"lt;lt;endl ;

coutlt;lt; "Volver a introducir datos"lt;lt;endl;

}

else

{

coutlt;lt; "El área de un triángulo es"lt;lt;treiangle.Area()lt;lt;endl;

coutlt;lt; "Vuelve a escribir los datos"lt;lt;endl ;

}

}

Devolver

0;

}

VC6 .0 Compilar y ejecutar

Las imágenes de prueba son 3, 4 y 5.