Hey Leute habe foglendes Programm zum berechnen von Wachstümern geschrieben.
[autoit]#cs ----------------------------------------------------------------------------
[/autoit][autoit][/autoit][autoit]AutoIt Version: 3.3.4.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
[/autoit][autoit][/autoit][autoit]; Script Start - Add your code below here
[/autoit][autoit][/autoit][autoit]#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=c:\users\jonas\downloads\koda_1.7.2.0\forms\wachstum.kxf
$Form1_1 = GUICreate("Wachstumssimulator Version 1.0", 756, 199, 192, 135)
$lineargo = GUICtrlCreateButton("Berechnen", 48, 144, 97, 33, $WS_GROUP)
$expogo = GUICtrlCreateButton("Berechnen", 200, 144, 91, 33, $WS_GROUP)
$bgrgo = GUICtrlCreateButton("Berechnen", 392, 144, 91, 33, $WS_GROUP)
$loggo = GUICtrlCreateButton("Berechnen", 616, 144, 91, 33, $WS_GROUP)
$Label2 = GUICtrlCreateLabel("Bestand", 32, 40, 43, 17)
$Label3 = GUICtrlCreateLabel("Änderung", 31, 65, 50, 17)
$Label4 = GUICtrlCreateLabel("Zeit", 35, 90, 22, 17)
$linearb = GUICtrlCreateInput("", 80, 40, 57, 21)
$linearD = GUICtrlCreateInput("", 81, 62, 57, 21)
$lineart = GUICtrlCreateInput("", 79, 86, 57, 21)
$Label6 = GUICtrlCreateLabel("Bestand", 192, 38, 43, 17)
$Label7 = GUICtrlCreateLabel("Änderung", 191, 63, 50, 17)
$Label8 = GUICtrlCreateLabel("Zeit", 195, 88, 22, 17)
$expob = GUICtrlCreateInput("", 240, 38, 57, 21)
$expod = GUICtrlCreateInput("", 241, 60, 57, 21)
$expot = GUICtrlCreateInput("", 239, 84, 57, 21)
$Label10 = GUICtrlCreateLabel("Bestand", 392, 38, 43, 17)
$Label11 = GUICtrlCreateLabel("Änderung", 391, 63, 50, 17)
$Label12 = GUICtrlCreateLabel("Zeit", 395, 88, 22, 17)
$bgrb = GUICtrlCreateInput("", 440, 38, 57, 21)
$bgrd = GUICtrlCreateInput("", 441, 60, 57, 21)
$bgrt = GUICtrlCreateInput("", 439, 84, 57, 21)
$Label13 = GUICtrlCreateLabel("Wachstumsgrenze", 343, 114, 92, 17)
$bgrn = GUICtrlCreateInput("", 435, 110, 57, 21)
$Label15 = GUICtrlCreateLabel("Bestand", 584, 38, 43, 17)
$Label16 = GUICtrlCreateLabel("Änderung", 583, 63, 50, 17)
$Label17 = GUICtrlCreateLabel("Zeit", 587, 88, 22, 17)
$logb = GUICtrlCreateInput("", 632, 38, 57, 21)
$logd = GUICtrlCreateInput("", 633, 60, 57, 21)
$logt = GUICtrlCreateInput("", 631, 84, 57, 21)
$Label18 = GUICtrlCreateLabel("Wachstumsgrenze", 535, 114, 92, 17)
$logn = GUICtrlCreateInput("", 627, 110, 57, 21)
$Label1 = GUICtrlCreateLabel("Exponentiell", 248, 16, 61, 17)
$Label5 = GUICtrlCreateLabel("Linear", 86, 14, 33, 17)
$Label9 = GUICtrlCreateLabel("Begrenzt", 446, 14, 46, 17)
$Label14 = GUICtrlCreateLabel("Logistisch", 638, 14, 51, 17)
GUISetState(@SW_SHOW)
MsgBox( 64, "Willkommen !", " Herzlich Willkommen zum Wachstumssimulator Version 1.0 von Florian Jonas !")
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
if $nMsg = $GUI_EVENT_CLOSE then exit
Select
Case $nMsg = $lineargo
$Anzahl = GUICtrlRead ( $lineart )
$file = FileOpen ( "Lineareswachstum.txt", 1 )
$aenderunglinear = GUICtrlRead($lineard)
$linearbestand = GUICtrlRead($linearb)
$linearmax = GUICtrlRead($lineart)
$linearjahr = 0
FileWriteLine($file," Zeit t - Bestand B ")
For $i = 0 To $linearmax - 1
$linearjahr = $linearjahr + 1
$linearbestand = $linearbestand + $aenderunglinear
FileWriteLine($file, $linearjahr & " - " & $linearbestand)
Next
MsgBox( 64, "Erfolgreich", " Datei wurde unter dem Namen Lineareswachstum.txt erstellt !")
Case $nMsg = $expogo
$Anzahl = GUICtrlRead ( $expot )
$file = FileOpen ( "Exponentielles_Wachstum.txt", 1 )
$aenderungexpo = GUICtrlRead($expod)
$expobestand = GUICtrlRead($expob)
$expomax = GUICtrlRead($expot)
$expojahr = 0
FileWriteLine($file," Zeit t - Bestand B ")
For $i = 0 To $expomax - 1
$expojahr = $expojahr + 1
$expobestand =$expobestand + $aenderungexpo*$expobestand
FileWriteLine($file, $expojahr & " - " & $expobestand)
Next
MsgBox( 64, "Erfolgreich", " Datei wurde unter dem Namen Exponentielles_Wachstum.txt erstellt !")
Case $nMsg = $bgrgo
$Anzahl = GUICtrlRead ( $bgrt )
$file = FileOpen ( "Begrenztes_Wachstum.txt", 1 )
$aenderungbgr = GUICtrlRead($bgrd)
$bgrbestand = GUICtrlRead($bgrb)
$bgrmax = GUICtrlRead($bgrt)
$bgrgrenze = GUICtrlRead($bgrn)
$bgrjahr = 0
FileWriteLine($file," Zeit t - Bestand B ")
For $i = 0 To $bgrmax - 1
$bgrjahr = $bgrjahr + 1
$bgrbestand = $bgrbestand + ($aenderungbgr * ( $bgrgrenze - $bgrbestand ))
FileWriteLine($file, $bgrjahr & " - " & $bgrbestand)
Next
MsgBox( 64, "Erfolgreich", " Datei wurde unter dem Namen Begrenztes_Wachstum.txt erstellt !")
Case $nMsg = $loggo
$Anzahl = GUICtrlRead ( $logt )
$file = FileOpen ( "Logistisches_Wachstum.txt", 1 )
$aenderunglog = GUICtrlRead($logd)
$logbestand = GUICtrlRead($logb)
$logmax = GUICtrlRead($logt)
$loggrenze = GUICtrlRead($logn)
$logjahr = 0
FileWriteLine($file," Zeit t - Bestand B ")
For $i = 0 To $logmax - 1
$logjahr = $logjahr + 1
$logbestand = $logbestand + ($aenderunglog * $logbestand * ( $loggrenze - $logbestand ))
FileWriteLine($file, $logjahr & " - " & $logbestand)
Next
MsgBox( 64, "Erfolgreich", " Datei wurde unter dem Namen Logistisches_Wachstum.txt erstellt !")
EndSelect
Wend
So... also der Case $lineargo funktioniert einwandfrei.
Wenn ich aber nun den Button expogo drücke so soll nun der eingegebene bestand (expobestand) + expobestand mal die eingegeben Änderung ($aenderung expo) genommen werden und das ergibt den Bestand. Das ist halt ne Schleife damit das immer mit dem Vorherigen Bestand passiert. In diesem Fall z.B Kontobestand alt + den alten Kobestand mal Zinsen. Soweit klar ?
Das soll es dann in eine Tabelle schreiben.
Das tut es auch es schreibt aber immer die Jahre und einfach meinen Anfangsbestand.
Warum steigt mein Bestand nicht wie bei der exponentiellen Funktion wie bei der linearen ?
Habe ich etwas mit den Rechenoperatoren falsch gemacht ?
lG
clonker