REM Sprache: MS-DOS QBasic v1.1 REM Funktion: positive, ganze Zahl REM "in Worten" ausgegeben REM Autor: A.M.OGRIS REM CLS : CLEAR DIM z$(48) RESTORE: FOR i = 1 TO 47: READ z$(i): NEXT i PRINT "Bitte geben Sie eine positive ganze Zahl ein (max. 60stellig) !" LOCATE 3, 1: PRINT "->"; TAB(63); "<-" LOCATE 3, 3: INPUT "", a$ PRINT IF VAL(a$) = 0 THEN PRINT "NULL": END l = LEN(a$): IF l > 60 THEN PRINT "Zahl zu groá !": END WHILE l MOD 3 > 0: a$ = "0" + a$: l = LEN(a$): WEND v = 27 + l / 3 FOR i = 1 TO l STEP 3 z$ = MID$(a$, i, 3): z = VAL(z$) IF z > 0 THEN a = VAL(LEFT$(z$, 1)): b = VAL(MID$(z$, 2, 1)) c = VAL(RIGHT$(z$, 1)) d = b * 10 + c IF a > 0 THEN PRINT z$(a); "HUNDERT"; : IF d > 0 THEN IF d < 21 THEN PRINT z$(d); ELSE IF c > 0 THEN PRINT z$(c) + "UND"; PRINT z$(b + 18); END IF END IF IF (v > 29) AND (z = 1) THEN PRINT "E"; PRINT z$(v); IF v > 29 THEN IF v MOD 2 = 0 THEN PRINT "ILLION"; : IF z > 1 THEN PRINT "EN"; ELSE PRINT "ILLIARDE"; : IF z > 1 THEN PRINT "N"; END IF END IF END IF v = v - 1 NEXT i IF RIGHT$(z$, 2) = "01" THEN PRINT "S" END DATA EIN,ZWEI,DREI,VIER,"FšNF",SECHS,SIEBEN,ACHT,NEUN,ZEHN,ELF,"ZW™LF" DATA DREIZEHN,VIERZEHN,"FšNFZEHN",SECHZEHN,SIEBZEHN,ACHTZEHN,NEUNZEHN DATA ZWANZIG,DREISSIG,VIERZIG,"FšNFZIG",SECHZIG,SIEBZIG,ACHTZIG,NEUNZIG DATA ,TAUSEND,M,M,B,B,TR,TR,QUADR,QUADR,QUINT,QUINT,SEXT,SEXT,SEPT DATA SEPT,OKT,OKT,NON,NON