문제에서 빗변, 높이, 밑변 세가지 정보를 가지고 직각삼각형 여부를 판별하라고 했음
이 때 높이 = H  /  밑변 = B  /  빗변 = A

나머지 한 변을 C라는 변수로 설정
C를 구하기 위해 X라는 변수를 설정.



a17d2cad2f1b782a99595a48fa9f3433f728bd6f6b8abd3f6e59a9f8


7cf3c028e2f206a26d81f6e447827c6f




이 때 변수들을 정수형으로 선언하면 표현범위 초과라는 오류가 뜨고 (Arithmetic operation resulted in an overflow.)
DOUBLE로 선언하면 소숫점 지랄나는지 무조건 직각삼각형이 아니라고 우김. (5,4,3 값 입력-> 직각 아니라고 우김)


내가 짠 코드는 

Public Class Form1

    Dim a, b, h, x, c As Double

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        a = Val(TextBox1.Text)       = 빗변 길이

        b = Val(TextBox3.Text)       = 밑변 길이

        h = Val(TextBox2.Text)       = 높이


        x = System.Math.Sqrt(b ^ 2 - h ^ 2)         = X 길이

        c = System.Math.Sqrt(h ^ 2 + (a - x) ^ 2)   = 나머지 한 변의 길이



        If a ^ 2 = (c ^ 2) + (b ^ 2) Then 

            MsgBox("직각삼각형입니다.")

        Else

            MsgBox("직각삼각형이 아닙니다.")

        End If

    End Sub

End Class


문제가 데이터 타입의 문제가 맞을까?
아니면 계산식이 잘못된걸까?

전에 한 번 5시간 잡고 늘어졌을 때 성공했는데

다시 해보니까 막혀서 너무 빡쳐 ㅠㅠ