Yop, es geht um ein Dreieck.
Mit diesem Tool solltet ihr ganz bequem rauskriegen obs rechtwinklig, stumpfwinklig oder spitzwinklig ist!
Einfach die Seiten der Länge nach angeben, also kürzeste Seite zuerst, danach die mitlerste dann die längste Seite.
Wäre nett wenn ihrs kontrolliert obs immer klappt
Code:
Spoiler anzeigen
#notrayicon
#include <guiconstants.au3>
#include <Array.au3>
$Gui = GUICreate("©qon", 200, 150)
$Labela = GUICtrlCreateLabel("Seite a", 20, 22, 80)
$a = GUICtrlCreateInput(3, 100, 20)
$Labelb = GUICtrlCreateLabel("Seite b", 20, 52, 80)
$b = GUICtrlCreateInput(4, 100, 50)
$Labelc = GUICtrlCreateLabel("Seite c", 20, 82, 80)
$c = GUICtrlCreateInput(5, 100, 80)
$Calc = GUICtrlCreateButton("Überprüfe!", 70, 115)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Calc
_Calc()
EndSwitch
WEnd
Func _Calc()
Local $S[3] = [GUICtrlRead($a), GUICtrlRead($b), GUICtrlRead($c)]
For $i = 0 to 2
$S[$i] = StringReplace($S[$i],",",".")
If (StringIsFloat($S[$i]) = 0 and StringIsDigit($S[$i]) = 0) Then
MsgBox(16,"Zahlen","Du hast Buchstaben, ungültige Zeichen oder nichts eingegeben")
Return 0
EndIf
Next
_ArraySort($S)
If ($S[0] + $S[1]) < $S[2] Then Return SetError(0, 1, MsgBox(16, "", "Unmögliche Seitenlängen angegeben"))
Select
Case ($S[0]^2)+($S[1]^2) = $S[2]^2
MsgBox(64, "Recht", "Das Dreieck ist rechtwinklig")
Case ($S[0]^2)+($S[1]^2) < $S[2]^2
MsgBox(64, "Stumpf", "Das Dreieck ist stumpfwinklig")
Case ($S[0]^2)+($S[1]^2) > $S[2]^2
MsgBox(64, "Spitz", "Das Dreieck ist spitzwinklig")
EndSelect
Return 1
EndFunc
Viel Spass!^^
Edit: Ergänzung zur Prüfung der richtigen Reihenfolge
Edit: Aspirins Verbesserung eingebaut!
Edit: Weitere Änderungen, das Kommazahlen wieder möglich sind