// cTriangulo.cpp
// Definição da classe cTriangulo
// Frequência de Lp1    30 de Novembro de 2001

#include "cTriangulo.h"
#include <math.h>


cTriangulo::cTriangulo()
{
	 Base = 1;
	Lado2 = 1;
	Lado3 = 1;
}

cTriangulo::cTriangulo( double Bas, double Lad2, double Lad3 )
{
	Base = Bas;
	Lado2 = Lad2;
	Lado3 = Lad3;
}

double cTriangulo::Area()
{
	return ( Base * Altura() ) / 2;
}

double cTriangulo::Perimetro()
{
	return Base + Lado2 + Lado3;
}

double cTriangulo::Altura()
{
	double alfa;

	alfa = ( Base*Base + Lado2*Lado2 - Lado3*Lado3 ) / ( 2*(Base *Lado2) );		
	alfa = acos(alfa);
	return Lado2 * sin(alfa);
}

char *cTriangulo::TipoTrianguloTexto()
{	
	switch ( Tipo() )
	{
		case EQUILATERO :	return "Equilatero";
		case   ESCALENO :	return "Escaleno";
		case  ISOSCELES :	return "Isosceles";
			    default :	return " ";
	}
}

cTriangulo::TipoTriangulo cTriangulo::Tipo()
{
	if ( ( Base == Lado2 ) && ( Lado2 == Lado3 ) ) 
		return EQUILATERO;

	if ( ( Base != Lado2 ) && ( Base != Lado3 ) && ( Lado2 != Lado3 ) ) 
		return ESCALENO;

	return ISOSCELES;
}

double cTriangulo::GetLado( int i )
{
	switch ( i )
	{
		case 1 :	return Base;
		case 2 :	return Lado2;
		case 3 :	return Lado3;
	   default :	return 0;
	}
}



