Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Rechenaufgabe in zwei Teile spalten

Uploader:AdministratorSebastian
Datum/Zeit:04.02.2008 12:42:43

'Für QB.

DIM Eingabe AS STRING, Rechenzeichen AS STRING, Temp AS STRING
DIM Teile(1 TO 2) AS INTEGER
DIM bs AS INTEGER, i AS INTEGER, t AS INTEGER, Ergebnis AS INTEGER

CLS
PRINT "Bitte geben Sie eine Aufgabe wie 123+456 ein. Zul„ssig sind die"
PRINT "Rechenzeichen +, -, * und /"
PRINT
INPUT "Aufgabe:        ", Eingabe
IF Eingabe = "" THEN END

Temp = "": Rechenzeichen = "": t = 1

FOR i = 1 TO LEN(Eingabe)
    bs = ASC(MID$(Eingabe, i, 1))
    IF (bs >= 48) AND (bs <= 57) THEN 'Zahl
        Temp = Temp + CHR$(bs)
        IF i = LEN(Eingabe) THEN 'Ende erreicht
            Teile(t) = VAL(Temp)
            Temp = ""
        END IF
    ELSEIF (bs = 43) OR (bs = 42) OR (bs = 45) OR (bs = 47) THEN 'Rechenzeichen
        Teile(t) = VAL(Temp)
        Temp = ""
        Rechenzeichen = CHR$(bs)
        t = t + 1
    END IF
NEXT i

IF Rechenzeichen = "" THEN
    PRINT : PRINT "Die Aufgabe enthielt kein Rechenzeichen."
    SLEEP: END
END IF
IF t > 2 THEN
    PRINT : PRINT "Die Aufgabe enthielt zu viele Teile."
    SLEEP: END
END IF

PRINT "Teil 1:         "; LTRIM$(STR$(Teile(1)))
PRINT "Teil 2:         "; LTRIM$(STR$(Teile(2)))
PRINT "Rechenzeichen:  "; Rechenzeichen

SELECT CASE Rechenzeichen
CASE "+": Ergebnis = Teile(1) + Teile(2)
CASE "-": Ergebnis = Teile(1) - Teile(2)
CASE "*": Ergebnis = Teile(1) * Teile(2)
CASE "/": Ergebnis = Teile(1) / Teile(2)
END SELECT

PRINT "Ergebnis:       "; LTRIM$(STR$(Ergebnis))
PRINT
PRINT "Drcken Sie eine beliebige Taste zum Beenden."
SLEEP
END