Programa
/* Programa que calcula todas las partes de un triangulo
y el tipo del triangulo a partir de dos lados y el angulo
opuesto al lado faltante.
En el programa se aplico el concepto de la estructura.
Elaborado por Carlos Ferrer
Revisión Mayo de 2025
*/
#include <iostream>
#include <math.h>
#include <locale.h>
using namespace std;
//Creamos la estructura
struct Elementos_de_un_triangulo
{
float Q1,Q2,Q3;
float L1,L2,L3;
string tipo;
};
main()
{
setlocale(LC_ALL, "spanish");
// Creamos la variable t1 con todos los datos de la estructura
Elementos_de_un_triangulo t1;
// Ingresamos los datos
cout <<"Ingrese el tamaño del lado Nro. 1 = ";
cin >>t1.L1;
cout <<"Ingrese el tamaño del lado Nro. 2 = ";
cin >>t1.L2;
cout <<"Ingrese el valor del ángulo contrario al Lado Nro. 3 en grados = ";
cin >>t1.Q3;
// Calculamos el lado faltante usan ley del coseno
t1.L3= sqrt(pow(t1.L1,2)+pow(t1.L2,2)-2*t1.L1*t1.L2*cos(t1.Q3*M_PI/180));
// Calculamos los ángulos faltantes usando ley del seno
t1.Q2=asin(sin(t1.Q3*M_PI/180)*t1.L2/t1.L3);
t1.Q1=asin(sin(t1.Q3*M_PI/180)*t1.L1/t1.L3);
// Determinamos el tipo de triangulo
if (t1.L1!=t1.L2 and t1.L1!=t1.L3 )
{
t1.tipo="Escaleno";
}
else if (t1.L1==t1.L2 and t1.L1==t1.L3 )
{
t1.tipo="Equilatero";
}
else
{
t1.tipo="Isosceles";
}
if (t1.Q1*180/M_PI==90 or t1.Q2*180/M_PI==90 or t1.Q3==90)
{
t1.tipo=t1.tipo +" y Rectángulo";
}
system("cls");
// presentamos los resultados
cout <<"********** Resultados *********"<<endl;
cout <<endl<<"Lado Nro. 1 = "<<t1.L1;
cout <<endl<<"Lado Nro. 2 = "<<t1.L2;
cout <<endl<<"Lado Nro. 3 = "<<t1.L3;
cout <<endl<<"Ángulo Nro. 1 = "<<t1.Q1*180/M_PI;
cout <<endl<<"Ángulo Nro. 2 = "<<t1.Q2*180/M_PI;
cout <<endl<<"Ángulo Nro. 3 = "<<t1.Q3;
cout <<endl<<endl<<"El triangulo es = "<<t1.tipo<<endl;
system("pause");
}
No hay comentarios.:
Publicar un comentario