home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
sigisoft
/
trechner
/
trechner.bas
< prev
next >
Wrap
BASIC Source File
|
1997-01-11
|
3KB
|
64 lines
310 modus = 1
320 intmax = 65536!
330 operator$ = "+-*/E"
340 ende$ = "=" + CHR$(13)
350 sonder$ = "<>r" + CHR$(8)
370 dezzif$ = "0123456789."
430 GOSUB 2100
440 COLOR 0, 1
450 GOSUB 580
460 GOTO 1250
580 LOCATE 5, 15
590 IF display$ = "" THEN display$ = "0"
600 PRINT RIGHT$(STRING$(20, " ") + display$, 20)
700 LOCATE 5, 14
710 IF INSTR(ende$, opalt$) <> 0 THEN PRINT " " ELSE PRINT opalt$
1140 RETURN
1250 a$ = INKEY$: IF a$ = "" THEN GOTO 1250
1260 IF modus = 1 AND INSTR(dezzif$, a$) <> 0 THEN n = 1
1290 IF INSTR(operator$, a$) <> 0 OR INSTR(ende$, a$) <> 0 THEN n = 4
1300 IF INSTR(sonder$, a$) <> 0 THEN n = 5
1310 IF INSTR(modus$, a$) <> 0 THEN n = 6
1320 ON n GOSUB 1380, 1540, 1540, 1540, 1800
1330 GOTO 1250
1380 IF LEN(zahl$) < 20 AND (INSTR(zahl$, ".") = 0 OR a$ <> ".") THEN zahl$ = zahl$ + a$
1390 display$ = zahl$: GOSUB 580
1400 RETURN
1540 IF modus = 1 THEN zahl = VAL(zahl$)
1580 IF opalt$ = "" THEN result = zahl
1590 IF opalt$ = "+" THEN result = result + zahl
1600 IF opalt$ = "-" THEN result = result - zahl
1610 IF opalt$ = "*" THEN result = result * zahl
1611 IF opalt$ = "E" OR opalt$ = "e" THEN STOP
1620 IF opalt$ = "/" THEN IF zahl <> 0 THEN result = result / zahl
1670 IF modus = 1 THEN display$ = STR$(result)
1710 IF INSTR(ende$, opalt$) = 0 THEN GOSUB 580 ELSE IF zahl$ <> "" THEN result = zahl
1720 opalt$ = a$: GOSUB 700
1730 zahl$ = ""
1800 IF ASC(a$) = 8 THEN opalt$ = "": result = 0: zahl$ = "": display$ = zahl$: GOSUB 580
1810 RETURN
2100 CLS : LOCATE 2, 5
2110 PRINT TAB(5); "--------------------------------"
2120 PRINT TAB(5); "| Siegi's Taschenrechner |"
2130 PRINT TAB(5); "--------------------------------"
2140 PRINT TAB(5); "| |"
2150 PRINT TAB(5); "--------------------------------"
2160 PRINT TAB(5); "| Dieses | Tastenfeld |"
2170 PRINT TAB(5); "| Programm ist | |"
2180 PRINT TAB(5); "| Public Domain| 7 8 9 / |"
2190 PRINT TAB(5); "| frei | |"
2200 PRINT TAB(5); "| kopierbar | 4 5 6 * |"
2210 PRINT TAB(5); "|--------------| |"
2220 PRINT TAB(5); "| | 1 2 3 - |"
2230 PRINT TAB(5); "| E = Ende | |"
2240 PRINT TAB(5); "| | 0 . = + |"
2260 PRINT TAB(5); "--------------------------------"
2261 PRINT TAB(5); "| Backspace = Löschen |"
2262 PRINT TAB(5); "--------------------------------"
2263 PRINT TAB(5); "| (c) 1997 by Siegfried Hübner |"
2264 PRINT TAB(5); "| Obere Vorstadt 21|"
2265 PRINT TAB(5); "| 91575 Windbach |"
2266 PRINT TAB(5); "--------------------------------"
2310 RETURN