Hey Leute,
mein Programm berechnet den größten gemeinsamen Teiler zweier Zahlen die größer als 0 sind. Man gibt zwei Zahlen ein und drück auf den "Berechnen" button. Sollte eine Zahl nicht größer als 0 sein, dann soll das Case sich beenden und man muss erneut 2 Zahlen eingeben, die berechnet werden und erneut auf "Berechnen". Wichtig ist, dass das Case auch wirklich beendet wird.
[autoit]#cs ----------------------------------------------------------------------------
[/autoit][autoit][/autoit][autoit]AutoIt Version: 3.3.9.23 (Beta)
Author: Tauber
Applikationsname: GGT
Version: v1.0.0
Script Function:
Applikation zur Berechnung des größten gemeinsamen Teilers zweier Zahlen > 0.
#ce ----------------------------------------------------------------------------
[/autoit][autoit][/autoit][autoit]#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$main = GUICreate("GGT", 163, 116, 192, 162)
$zahl1 = GUICtrlCreateInput("", 32, 16, 97, 21)
$zahl2 = GUICtrlCreateInput("", 32, 48, 97, 21)
$start = GUICtrlCreateButton("Berechnen", 32, 80, 97, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $start
; Werte auslesen
$z1 = GUICtrlRead($zahl1)
$z2 = GUICtrlRead($zahl2)
; Überprüfen ob die Argumente <= 0 sind
If (($z1 <= 0) OR ($z2 <= 0)) Then
MsgBox(64, "Error", "Zahlen müssen größer als 0 sein!" & @CRLF & "Bitte geben Sie eine gültige Zahl ein.")
EndIf
; Solange die Argumente ungleich sind wiederhole
While ($z1 <> $z2)
; Überprüfe ob das erste Argument kleiner als das zweite Argument ist
; Falls zutreffend, dann tausche die Variablen
If ($z1 < $z2) Then
$t = $z1
$z1 = $z2
$z2 = $t
EndIf
; Größere Zahl wird von der kleineren subtrahiert und überschrieben
$z1 = $z1 - $z2
WEnd
; GGT wurde gefunden und wird ausgegeben
MsgBox(64, "GGT", "Der größte gemeinsame Teiler ist: " & $z1)
EndSwitch
WEnd