Programación para encontrar el perímetro de un triángulo con coordenadas conocidas
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(); p>
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();