string CTriangle::TriangleType(string TypeOfTriangle)
{
if ( ValidTriangle() )
{
if ( SideA == SideB && SideA == SideC && SideB == SideC )
{
TypeOfTriangle = "Equilateral Triangle";
}
if ( int(AngleA()) == 90 || int(AngleB()) == 90 || int(AngleC()) == 90 )
{
TypeOfTriangle = "Right-Angled Triangle";
}
if ( SideA == SideB || SideA == SideC || SideB == SideC )
{
TypeOfTriangle = "Isoscules Triangle";
}
if ( (SideA != SideB && SideA != SideC && SideB != SideC) && ( AngleA() < 90.0 && AngleB() < 90.0 && AngleC() < 90.0 ) )
{
TypeOfTriangle = "Scalene/Acute Triangle";
}
/*
if ( AngleA() < 90.0 && AngleB() < 90.0 && AngleC() < 90.0 )
{
TypeOfTriangle = "Acute-Angled Triangle";
}
*/
if ( (AngleA() > 90.0 || AngleB() > 90.0 || AngleC() > 90.0) && (SideA != SideB && SideA != SideC && SideB != SideC) )
{
TypeOfTriangle = "Obtuse/Scalene Triangle";
}
if ( AngleA() > 90.0 || AngleB() > 90.0 || AngleC() > 90.0 )
{
TypeOfTriangle = "Obtuse Triangle";
}
return TypeOfTriangle;
}
else
exit(1);
}
how do I compare AngleA() with 90? I cast int before AngleA() (its return value is double) but if I put a (3,4,5) triangle, it goes down to
if ( (SideA != SideB && SideA != SideC && SideB != SideC) && ( AngleA() < 90.0 && AngleB() < 90.0 && AngleC() < 90.0 ) )
{
TypeOfTriangle = "Scalene/Acute Triangle";
}
i have all the values computed and on the command prompt shows AngleC = 90.000, (setprecision(3)), need help please