Red de conocimiento informático - Conocimiento informático - Programación para encontrar el perímetro de un triángulo con coordenadas conocidas

Programación para encontrar el perímetro de un triángulo con coordenadas conocidas

Hay dos formas de cambiar la función Get* en el código:

Cambiar cada Get al siguiente formato: double Get*()

Cambiarlo a: void get *(double & Val) formulario

El formulario 1 es más común y hay un problema con el constructor. Sólo tres puntos.

Además, no agregue "{}" después de cada función en tri.h. Aunque no hay ninguna declaración entre paréntesis, también representa el cuerpo de la función.

Forma una redefinición con la definición de función en tri.cpp.

Se ha modificado según su código (#contiene el comentario "Tri.h", que se puede compilar en un archivo, pero el comentario se cancelará al compilar en varios archivos):

¿Clase? ¿triángulo? {

¿Doble? s, ci, a, b, c;

¿Doble? x1, y1, x2, y2, x3, y3;

Público:

Triángulo (¿doble? x1=0, ¿doble? y1=0, ¿doble? x2=0, ¿doble? y2=0, doble? x3=0, doble? y3 = 0);

~Triángulo()? {}?//?¿Nada? ¿A dónde ir? Adelante.

¿Doble? ObtenerA();?

¿Doble? GetB();

¿Doble? ObtenerC();?

¿Doble? GetCi();

¿Doble? GetS();

¿Doble? show();

};

//?El depósito anterior es Tri.h

# include & ltiostream & gt

# include & ltcmath & gt

//?#Include "Tri.h"

¿Usar? ¿Espacio de nombres? std

//?Triangle::Triangle(doble?x1=0,doble?y1=0,doble?x2=0,doble?y2=0,doble?x3=0,doble?y3 = 0)? {

Triángulo::Triángulo(¿doble?x1,?doble?y1,?doble?x2,?doble?y2,?doble?x3,?doble?y3)? {

¿Esto->x1? =?x 1;

Esto->x2? =?x2;

Esto->x3? =?x3;

Esto->y1? =?y 1;

Esto->y2? =?y2;

Esto->y3? =?y3;

GetA();

GetB();

GetC();

GetCi();

GetB();

GetC();

GetCi();

p>

GetS();

}

¿Doble? Triángulo::GetA()? {

¿Volver? a = sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));

}

¿Doble? Triángulo::GetB()? {

¿Volver? b = sqrt((x 1-x3)*(x 1-x3)+(y 1-y3)*(y 1-y3));

}

¿Doble? Triángulo::GetC()? {

¿Volver? c = sqrt((x 1-x2)*(x 1-x2)+(y 1-y2)*(y 1-y2));

}

¿Doble? Triángulo::GetCi()? {

¿Volver? ci = a+b+c;

}

¿Doble? Triángulo::GetS()? {

¿Doble? ¿pag? =?(a+b+c)/2;

¿Regresión? s = sqrt(p *(p-a)*(p-b)*(p-c));

}

¿Doble? triángulo::mostrar()? {

cout & lt& lt" longitud lateral ab = " < & ltc & lt& ltendl

cout & lt& lt" longitud lateral BC = " < & lta & lt& ltendl

cout & lt& lt"Longitud del lado AC = " < & ltb & lt& ltendl

cout & lt& lt"Perímetro del triángulo = "

cout & lt& lt"Triángulo Area = " < & lts & lt& ltendl

}

//?Guarde lo anterior como Tri.cpp

# include & ltiostream & gt

# include & ltcmath & gt

//?#Include "Tri.h"

¿Usar? ¿Espacio de nombres? std

int? principal()? {

¿Triángulo? Tri(0,?0,?3,?0,?0,?4);

tri show();

¿Regresión? 0;

}

//?El depósito anterior es Exp.cpp

Por cierto, todos los parámetros de su Get original tienen los mismos nombres que las variables miembro. Por ejemplo:

¿Nulo? Triángulo::GetA(doble?a){

a = sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));

//?¿Cuál es este? ¿Variables miembro, parámetros de función?

}La referencia real aquí es una en el parámetro de función, por lo que:

¡Esta función no modificará la variable miembro!

¿Qué debo hacer si quiero hacer referencia a la variable miembro A?

Hay dos métodos:

Después de leer el código anterior, ya debería saberlo: utilice este puntero, que es este->;a

Utilice el nombre de clase y el operador de rango (::), es decir, Triángulo::a: a.

Puedes agregar test() al final de la clase de triángulo.

¿Anulado? prueba(doble?a=0)? {

¿cout? <<? ¿respuesta? <<? endl

cout? <<? Esta->¿Respuesta? <<? final?

¿cómo? <<? Triángulo::a? <<? endl

}Y llame a su número de teléfono principal:

tri test();