Compare double with int, cast int on double?

Discussion in 'C++' started by nubore, Oct 6, 2010.

  1. nubore

    nubore New Member

    Joined:
    Oct 6, 2010
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    Code:
    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
    Code:
     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
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice