Ein Kumpel von mir und ich sind gerade dabei uns BASIC-Projekt für die Schule fertig zu machen! War bisher alles kein Prob, Passwortabfrage funzt, Animationen funzen, etc.! Doch ein Problem haben wir schon noch! Die Funktion zur Parameterübergabe macht irgendwie nicht das, was wir wollen...
Ich poste hier mal ein total simples Beispiel dafür, vielleicht könnt ihr mir das sagen worans gelegen hat! Bei diesem Beispiel kommt z.B. als Ergebnis IMMER "0.00" raus, wenn N NICHT = 0 ist...
CODE ANFANG
CLS
SUB Eingabe (Zaehler, Nenner)
INPUT"Zähler eingeben: ", Zaehler
INPUT"Nenner eingeben: ", Nenner
END SUB
SUB Divi (Zaehler, Nenner, FLAG, Ergebnis)
IF N=0 THEN
F=1
ELSE
E=Z/N
F=2
END IF
END SUB
SUB Aus (Fl, Erg)
IF FL=1 THEN
PRINT"Nicht lösbar!"
ELSE
PRINT USING"######.##"; Erg
END IF
END SUB
CALL Eingabe (Zaehler, Nenner)
CALL Divi (Zaehler, Nenner, FLAG, Ergebnis)
CALL Aus (FLAG, Ergebnis)
CODE ENDE
So! Bei diesem Code meckert PowerBasic nich, rechnet korrekt, wenn N=0 ist, ansonsten gibt es aber IMMER als Ergebnis "0.00" aus!
Und das 1/2 nich 0.00 sondern 0.5 is, dürfte ja klar sein...
Könnt ihr uns helfen? Wäre schön, da wir das Proggie bald fertig haben müssen!
cya
-.- DeAtHmEaT 2k -.-
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
Ich habe früher mal viel in Basic (GWBasic/QBasic) programmiert, ist aber schon ne weile her.
Soweit ich mich erinnere gibt es in Basic keine lokalen und globalen Variablen.
Wenn man einen Rückgabewert bekommen will, kann man (so zumindest in QBasic) eine FUNCTION Deklaration verwenden. Wie das in PowerBasic aussieht weiß ich nicht.
Noch eine andere Idee:
Auch im SUB "Divi" die Langen Variablennamen verwenden, so dass die Variablen im gesammten Programm die selbe Bezeichnung haben. Und noch mal die Schreibweise überprüfen.
CU Borlander