best. Prozeduren bei best. Ergebnissen
Verfasst: 23.07.2006 19:49
Wenn ich jetzt einen Taschenrechner programmieren wollte, sähe das so aus:
Kann ich das auch ohne das "Select" machen? So als eine Art procedurenarray? (hat das was mit Zeigern und Callback zu tun?)
Ich meine so eine Art
Ich meine wenn eigentlich jede Procedure eine Nr hat, kann man die ja in ein Array schreiben und dann sagen, dass die Prozedur mit der jeweiligen Adresse ausgeführt werden soll.
ich suche quasi so eine Funktion:
procedure call(adressevonzielfunktion)
starte die funktion mit "adressevonzielfunktion"
endprocedure
Wenns das nicht gibt:
Gibt es sowas vieleicht bei Subroutinen?
Ala (wieauchimmerdasgeschriebenwird)
procedure mach(?label)
springe zu label
endprocedure
Code: Alles auswählen
Procedure Plus(lhs,rhs)
ProcedureReturn lhs+rhs
EndProcedure
Procedure Minus(lhs,rhs)
ProcedureReturn lhs-rhs
EndProcedure
Procedure Mal(lhs,rhs)
ProcedureReturn lhs*rhs
EndProcedure
Procedure Geteilt(lhs,rhs)
If rhs=0
ProcedureReturn 0
Else
ProcedureReturn lhs/rhs
EndIf
EndProcedure
OpenConsole()
Print("Erste Zahl: ")
zahl1=Val(Input())
PrintN("")
Print("Operator ( 1=+ , 2=- , 3=* , 4=/ ): ")
operator=Val(Input())
PrintN("")
Print("Zweite Zahl: ")
zahl2=Val(Input())
PrintN("")
Select operator
Case 1
ausg=Plus(zahl1,zahl2)
Case 2
ausg=Minus(zahl1,zahl2)
Case 3
ausg=Mal(zahl1,zahl2)
Case 4
ausg=Geteilt(zahl1,zahl2)
EndSelect
PrintN(" Das Ergebnis ist "+Str(ausg))
Input()
End
Kann ich das auch ohne das "Select" machen? So als eine Art procedurenarray? (hat das was mit Zeigern und Callback zu tun?)
Ich meine so eine Art
Code: Alles auswählen
Input...
Tu die Prozedur mit der Nr die gewählt wurde
output...
ich suche quasi so eine Funktion:
procedure call(adressevonzielfunktion)
starte die funktion mit "adressevonzielfunktion"
endprocedure
Wenns das nicht gibt:
Gibt es sowas vieleicht bei Subroutinen?
Ala (wieauchimmerdasgeschriebenwird)
procedure mach(?label)
springe zu label
endprocedure