Listing of file='CAR.BAS;01' on disk='vmedia/chip_128-sector.ccvf'
1 REM Y KCAR RUNNING COSTS R. FERGUSON MAY81 2 REM USE THE CREATE FILE OPTION BEFORE INPUTING 1ST RECORD. 3 REM ALL ENTRIES EXCEPT DATA ARE SINGLE KEY ENTRY. 4 REM DON'T FORGET TO CLOSE THE FILE WHEN FINISHED OR THE 5 REM FILE WILL NOT BE WRITTEN TO DISK. 18 GOTO 185 19 PLOT 3,20,30:PRINT "ANY KEY TO CONT "; 20 REM INPUT S/R 22 POKE 33278,0 24 KR= PEEK (33278):IF KR= 0THEN 24 26 PRINT :RETURN 40 REM DM TO D OF Y S/R 42 D= INT (DM):M= INT ((DM- D)* 100+ .5) 44 IF M= 1OR M= 2THEN M= M+ 13:Y= 0:GOTO 48 46 M= M+ 1:Y= 365 48 D= INT (30.6001* M+ D+ Y- 428) 50 IF D< 1THEN D= D+ 365 52 RETURN 90 REM COMP AT WK 92 PLOT 12,3,20,16,15:PRINT "COMPUTER AT WORK ....." 94 PLOT 8:RETURN 185 DIM D(13,6) 200 REM DIRECTORY 204 PLOT 12,14,3,15,1 205 PRINT " CAR RUNNING COSTS DIRECTORY " 210 X= 20:Y= 10 215 PLOT 15,3,X,Y+ 0:PRINT "1 INPUT DATA 220 PLOT 3,X,Y+ 2:PRINT "2 READ DATA 240 PLOT 3,X,Y+ 4:PRINT "3 CREATE FILE 245 PLOT 3,X,Y+ 6:PRINT "4 CLOSE FILE 270 PLOT 3,20,28:PRINT "YOUR CHOICE ? "; 280 GOSUB 20 285 KR= KR- 48:IF KR= 3THEN 5000 290 IF F1= 0THEN FILE "R",1,"CAR",1:F1= 1 300 ON KRGOTO 1000,2000,5000,6000 1000 REM INPUT DATA 1005 X= 15:Y= 10:T= 22 1010 PLOT 6,3,15,12,3,X,Y 1020 PRINT "DATE (DD.MM)";TAB( T);:INPUT "> ";DA 1025 PLOT 3,X,Y+ 2 1030 PRINT "KILO READING";TAB( T);:INPUT "> ";KM 1035 PLOT 3,X,Y+ 4 1040 PRINT "TOTAL COST ($$.CC)";TAB( T);:INPUT "> ";TC 1045 PLOT 3,X,Y+ 6 1050 PRINT "CENTS/LITRE (CC.C)";TAB( T);:INPUT "> ";CL 1055 LI= INT (TC* 1000/ CL)/ 10 1059 PLOT 3,X,Y+ 8 1060 PRINT "TANK FULL (Y/N) ?";TAB( T)"> ";:GOSUB 20 1062 F$= CHR$ (KR) 1064 PLOT 3,X,Y+ 12 1065 PRINT "DETAILS OK (Y/N) ?";TAB( T)"> ";:GOSUB 20 1070 IF KR= 78THEN 1000 1080 IF KR= 89OR KR= 13THEN 1100 1090 GOTO 1064 1100 PLOT 3,X,Y+ 14 1110 PRINT "ANOTHER ENTRY (Y/N) ?";TAB( T);"> ";:GOSUB 20 1150 GET 1,251;LR:LR= LR+ 1 1160 PUT 1,LR;DA,KM,TC,LI,F$[1] 1170 PUT 1,251;LR 1200 IF KR= 89THEN 1000 1210 IF KR= 78OR 13THEN 200 2000 REM READ DATA 2010 GOSUB 90 2100 GET 1,251;RN:IF RN< 2THEN 2900 2110 GET 1,RN;D2,K2,C2,L2 2120 RN= RN- 1:AN= 2:TD= 0:TL= 0 2150 GET 1,RN;D1,K1,C1,L1,F$[1] 2160 IF F$= "Y"THEN 2200 2170 C2= C2+ C1:L2= L2+ L1:RN= RN- 1 2180 IF RN= 0THEN 2900 2190 GOTO 2150 2200 DM= D2:GOSUB 40 2210 DD= D:DM= D1:GOSUB 40 2220 DD= DD- D:IF DD< 0THEN DD= DD+ 365 2230 KM= K2- K1:TC= C2:LI= L2 2235 D(AN,1)= D2 2240 D(AN,2)= INT (LI* 1000/ KM+ .5)/ 10 2250 D(AN,3)= INT (2844/ D(AN,2)+ .5)/ 10 2260 D(AN,6)= INT (KM* 30.6/ DD+ .5) 2270 D(AN,4)= INT (TC* 1000/ KM+ .5)/ 10 2280 D(AN,5)= INT (TC* 30.6/ DD+ .5) 2290 TD= TD+ TC:TL= TL+ LI 2400 IF AN= 13THEN 2430 2410 RN= RN- 1:IF RN= 0THEN 2430 2420 D2= D1:K2= K1:C2= C1:L2= L1:AN= AN+ 1:GOTO 2150 2430 GET 1,251;LR 2440 GET 1,1;D1,K1 2450 GET 1,LR;D2,K2 2560 DM= D2:GOSUB 40:DD= D 2570 DM= D1:GOSUB 40:DD= DD- D:IF DD< 0THEN DD= DD+ 365 2580 KM= K2- K1 2590 D(1,2)= INT (TL* 1000/ KM+ .5)/ 10 2600 D(1,3)= INT (2844/ D(1,2)+ .5)/ 10 2610 D(1,6)= INT (KM* 30.6/ DD+ .5) 2620 D(1,4)= INT (TD* 1000/ KM+ .5)/ 10 2630 D(1,5)= INT (TD* 30.6/ DD+ .5) 2700 PLOT 19,12 2710 PRINT "DATE";TAB( 12)"L/100K";TAB( 24)"MPG"; 2715 PRINT TAB( 34)"C/KM";TAB( 45)"$/MTH"; 2716 PRINT TAB( 54)"KM/MTH":PRINT 2720 FOR AN= 13TO 1STEP - 1:IF AN= 1THEN PRINT 2725 DA= D(AN,1):I= INT (DA):R= DA- I 2726 R$= STR$ (R):R$= MID$ (R$+ "0",2,3) 2727 I$= STR$ (I):L= LEN (I$) 2728 I$= RIGHT$ (I$,L- 1):IF L= 2THEN I$= "0"+ I$ 2730 PLOT 17:PRINT I$+ R$;:TA= 0 2735 FOR T= 2TO 4:TA= TA+ 11:PLOT 16+ T 2736 IF AN= 1THEN PLOT 23 2740 N= D(AN,T):N$= STR$ (N):IF N- INT (N)= 0THEN N$= N$+ ".0" 2745 PRINT TAB( TA)RIGHT$ (" "+ N$,5); 2760 NEXT T 2765 FOR T= 5TO 6:PLOT 16+ T:TA= TA+ 11 2766 IF AN= 1THEN PLOT 23 2770 PRINT TAB( TA)RIGHT$ (" "+ STR$ (D(AN,T)),5); 2775 NEXT T:PRINT :PRINT 2780 NEXT AN 2790 PLOT 28,28:PRINT "AVERAGE" 2890 GOSUB 19:GOTO 200 2900 PLOT 17,12,3,20,15:PRINT "NEED MORE RECORDS !" 2910 GOTO 2890 5000 REM FILE CONTROL 5100 FILE "N","CAR",251,17,251 5110 GOTO 200 6000 REM CLOSE FILES 6090 PLOT 12 6100 FILE "C",1