-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathBENZIN.bc
118 lines (118 loc) · 3.5 KB
/
BENZIN.bc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
1000 A=1000:GOTO20:REM *** BENZINVERBRAUCH ***
1010 GOSUB100:DIMD$(36):DIMK$(36):DIMLP$(36)
1020 DIMGP$(36):M=36:DIMLI(36):DIMDV(36):N=1
1030 SR$="--- BENZINVERBRAUCH ---"
1040 HO=3:VE=1:GOSUB110:GOSUB150
1050 VE=3:GOSUB110
1060 PRINT"MENUE:"
1070 VE=5:GOSUB110:PRINT"(1) Einlesen der Daten"
1080 PRINT" und Ausgabe der Tanktermin-Liste"
1090 VE=8:GOSUB110:PRINT"(2) Eingabe neuer Termine"
1100 VE=10:GOSUB110
1110 PRINT"(3) Speicherung des Files"
1120 VE=12:GOSUB110
1130 PRINT"(4) Ende"
1140 GOSUB210
1150 IFIN=49 THEN GOSUB1500
1160 IFIN=50 THEN3010
1170 IFIN=51 THEN4000
1180 IFIN=52 THEN GOSUB950
1190 GOTO1140
1200 GOSUB100:SR$="--- BENZINVERBRAUCH ---"
1210 HO=3:VE=1:GOSUB110:GOSUB150
1220 HO=0:VE=3:GOSUB110
1230 PRINT" Datum Kilometer Liter Liter/100 km"
1240 PRINT
1250 FORZ=1 TOM
1260 IFD$(Z)="" THENN=Z:Z=M:GOTO1290
1270 GOSUB5010
1280 PRINTD$(Z);" ";K$(Z);" ";LI;" ";DV
1290 NEXTZ:PRINT:GOSUB6010:PRINT:PRINT
1300 PRINT"Gesamtstrecke = ";
1310 GK=VAL(K$(N-1))-VAL(K$(1))
1320 PRINTGK;" km"
1340 PRINT:PRINT"Gesamtkosten = ";SU;" DM":SL=0
1350 FORI=1 TOM
1360 IFLP$(I)="" THENI=M:GOTO1390
1370 SL=SL+VAL(GP$(I))/VAL(LP$(I))
1380 NEXTI
1390 PRINT:PRINT"Verbrauch = ";
1400 PRINTINT((SL/GK)*10000)/100;" l/100 km"
1410 GOSUB6010:GOSUB100:GOTO1030
1500 IFD$(1)<>"" THEN1200
1510 GOTO2000
1520 RETURN
2000 GOSUB100:VE=1:GOSUB110:PRINT"EINLESEN:"
2010 VE=4:GOSUB110:PRINT"(K) ...von Kassette"
2020 VE=6:GOSUB110:PRINT"(D) ...von Diskette"
2030 GOSUB210
2040 IFIN=75 THENNF=0:NF$="":GOTO2110
2050 IFIN=68 THENNF=4:GOTO2100
2060 GOTO2030
2100 VE=8:GOSUB110:INPUT"Filename:";NF$
2110 GOSUB500
2120 FORI=1 TOM
2130 GOSUB540:D$(I)=IN$
2140 GOSUB540:K$(I)=IN$
2150 GOSUB540:LP$(I)=IN$
2160 GOSUB540:GP$(I)=IN$
2170 NEXTI
2180 GOSUB580
2190 GOTO1200
3000 REM EINGABE
3010 GOSUB100:HO=1:VE=1:GOSUB110
3020 PRINT"EINGABE DER DATEN Eingabe-Nr.";N
3030 VE=3:GOSUB110:PRINT"Datum (tt.mm.jj):";
3040 INPUTD$(N)
3050 VE=5:GOSUB110:PRINT"Kilometerstand (nnnnn):";
3060 INPUTK$(N)
3070 VE=7:GOSUB110:PRINT"Benzinpreis DM/ltr.(x.yy):";
3080 INPUTLP$(N)
3090 VE=9:GOSUB110:PRINT"Preis der Tankfuellung (xx.yy):";
3100 INPUTGP$(N)
3110 IFN=1 THENN=N+1:GOTO3010
3120 GOSUB100:GOTO1200
4000 GOSUB100:REM SAVE
4010 VE=4:GOSUB110:PRINT"(K) ...auf Kassette"
4020 VE=6:GOSUB110:PRINT"(D) ...auf Diskette"
4030 GOSUB210
4040 IFIN=75 THENC=1:GOTO4110
4050 IFIN=68 THENC=5:GOTO4100
4060 GOTO4030
4100 VE=8:GOSUB110:INPUT"Filename:";NF$
4110 NF=C:GOSUB500
4120 FORI=1 TOM
4130 SR$=D$(I):GOSUB560
4140 SR$=K$(I):GOSUB560
4150 SR$=LP$(I):GOSUB560
4160 SR$=GP$(I):GOSUB560
4170 NEXTI
4180 GOSUB580:PRINT
4190 PRINT" File gespeichert!"
4200 GOSUB6010:GOSUB100:GOTO1200
5000 REM SUBROUTINE
5010 K1=VAL(K$(Z-1)):K2=VAL(K$(Z))
5020 LP=VAL(LP$(Z)):GP=VAL(GP$(Z))
5030 LI=GP/LP:LI=INT(LI*10+.5)/10
5040 K=K2-K1:SU=SU+GP
5050 DV=LI/K:DV=INT(DV*10000+.5)/100
5100 RETURN
6000 REM
6010 PRINT:PRINT" Taste =>"
6020 GOSUB210:GOSUB100
6030 RETURN
7000 IFD$(1)="" THEN2000
7010 GOTO1200
32000 REM -----------------------------
32010 REM - -
32020 REM - (C) 6/1991 -
32030 REM - MANFRED STEUDNER -
32040 REM - HEIDESTR. 166 -
32050 REM - O-8142 RADEBERG -
32060 REM - -
32070 REM - AUF COMMODORE C64 -
32080 REM - -
32090 REM -----------------------------
32100 REM
32110 REM DS-KULTUR
32120 REM-spezial 911113