1 H$='29'31'13'26'30 4 MAT S=ZER 5 P4=0 10 DIM A$[20],H$[5],X$[1],I$[6] 11 DIM C[4,8],S[16],P[13],T[12,6],M[12],U[30] 100 FILES C1 107 PRINT H$[1,2]"(1) TOP OF FORM OR (2) ABDICK"; 109 INPUT P5 111 PRINT H$[1,2]"CURRENT DATE"; 113 INPUT X 115 GOSUB 4800 117 IF X1>0 AND X1<13 THEN 123 119 GOSUB 4250 121 GOTO 111 123 IF X2<1 OR X2>31 THEN 119 125 IF X3<72 OR X3>99 THEN 119 127 D1=X1 129 D2=X2 131 D3=X3 133 PRINT "AUTO RENEW"; 135 INPUT A$ 137 P6=1 139 IF A$[1,1]="Y" THEN 143 141 P6=2 143 PRINT "ANNUAL LSES: (1) ALL OR (2) CONDITIONAL"; 145 INPUT V3 147 IF V3=1 OR V3=2 THEN 153 149 GOSUB 4250 151 GOTO 143 153 PRINT "FIRST PRD#"; 155 INPUT P2 157 IF P2>0 AND P2<31 THEN 163 159 GOSUB 4250 161 GOTO 153 163 PRINT "LAST PRD#"; 165 INPUT P3 167 IF P3>0 AND P3<31 AND P3 >= P2 THEN 173 169 GOSUB 4250 171 GOTO 163 173 REM 200 READ C9,C8,C7 210 DATA 13,4,8 220 MAT READ P 230 DATA 1000,3800,4300,4900,6500,7500,7560,7760,8760,9760,9870,10350,10400 235 MAT READ U 236 DATA 2100,3101,3300,3200,3400,4100,4200,0,1102,1104,1106,1108,1114,1118,1122 238 DATA 1126,1400,1401,1402,1403,1404,1405,1420,1300,1301,1302,1303,1200,1201,3120 240 MAT T=ZER 250 MAT READ M 255 DATA 31,28,31,30,31,30,31,31,30,31,30,31 260 DATA "C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","C11","C12","C13" 500 D=D3*12+D1+(D2/M[D1]) 510 P9=66 520 GOSUB 8000 1000 FOR Q1=P2 TO P3 1002 C=Q1 1005 GOSUB 3000 1010 C3=P[P1] 1020 IF P1=1 THEN 1040 1030 C3=C3-P[P1-1] 1040 FOR C1=1 TO C3 1045 R=C1 1050 IF P1=1 THEN 1060 1055 R=R+P[P1-1] 1060 GOSUB 4000 1065 GOSUB 4100 1070 IF NOT B1 OR S[1]#Q1 THEN 1080 1075 GOSUB 2000 1080 NEXT C1 1085 K2=1 1088 GOSUB 2200 1090 NEXT Q1 1100 K2=7 1110 GOSUB 2200 1170 IF I$="" THEN 9999 1180 CHAIN I$,H3 2000 IF S[3]#6 THEN 2045 2005 I=1 2010 IF S[8]=1 OR S[8]=2 THEN 2065 2015 I=2 2020 IF S[8]=0 THEN 2065 2025 I=3 2030 IF S[8]=3 THEN 2065 2035 PRINT "ERR IN S(8)";S[1];C1;S[8] 2040 STOP 2045 IF S[3]#5 THEN 2060 2050 I=5 2055 IF S6#0 THEN 2065 2060 RETURN 2065 GOSUB 2600 2067 IF B1 THEN 2090 2070 T[I,1]=T[I,1]+1 2072 IF S[3]=5 THEN 2080 2075 T[I,2]=T[I,2]+S[15] 2080 T[I,3]=T[I,3]+S6 2085 T[I,4]=T[I,4]+D5 2090 RETURN 2200 IF K2#7 THEN 2220 2201 X=P3-P2+1 2202 FOR I=7 TO 12 2203 X1=(T[I,4]/X)*100 2204 T[I,4]=INT(X1) 2205 IF X1-T[I,4]<.5 THEN 2207 2206 T[I,4]=T[I,4]+1 2207 T[I,4]=T[I,4]*.01 2208 NEXT I 2210 PRINT TAB(10);"REPORT TOTAL"; 2215 GOTO 2235 2220 REM 2224 GOSUB 5000 2225 GOSUB 2900 2235 A$=" CTC" 2240 GOSUB 2500 2245 K2=K2+1 2250 A$=" TA" 2255 GOSUB 2500 2256 K2=K2+1 2257 A$=" NAC" 2258 GOSUB 2500 2259 K2=K2+1 2260 A$="*SUB TOT" 2261 GOSUB 2500 2262 K2=K2+1 2265 A$=" CUST" 2266 GOSUB 2500 2267 K2=K2+1 2268 A$=" *TOTAL" 2270 GOSUB 2500 2275 IF K2=10 THEN 2360 2280 K=2 2285 GOSUB 9910 2290 P9=P9+8 2295 IF P9<54 THEN 2310 2300 GOSUB 8000 2310 FOR I=1 TO 6 2315 FOR J=1 TO 6 2320 T[I+6,J]=T[I+6,J]+T[I,J] 2322 T[I,J]=0 2325 NEXT J 2330 NEXT I 2360 RETURN 2500 PRINT TAB(25);A$;TAB(36); 2510 Z$="#####" 2515 X$=" " 2520 Z[1]=T[K2,1] 2525 GOSUB 9000 2527 PRINT TAB(47); 2530 Z$="$####### " 2535 Z[1]=T[K2,2] 2540 GOSUB 9000 2545 K=4 2560 GOSUB 9950 2565 Z[1]=T[K2,3] 2570 GOSUB 9000 2575 Z$="####.## " 2580 Z[1]=T[K2,4] 2585 GOSUB 9000 2590 Z$="$#########.## " 2592 Z[1]=T[K2,5] 2593 GOSUB 9000 2594 Z[1]=T[K2,6] 2595 GOSUB 9000 2596 GOSUB 6000 2597 RETURN 2600 B1=0 2601 IF V3=1 OR S[10]*S5#-12 THEN 2605 2603 B1=1 2604 RETURN 2605 X=S[4] 2610 GOSUB 4800 2615 IF X1<8 THEN 2630 2620 X1=X1+60 2625 GOTO 2635 2630 X1=X1+70 2635 X2=X2+S[10] 2640 IF X2 <= 12 THEN 2660 2645 X2=X2-12 2650 X1=X1+1 2655 GOTO 2640 2660 X3=X3-1 2665 IF X3>0 THEN 2695 2670 X2=X2-1 2675 IF X2>0 THEN 2690 2680 X2=12 2685 X1=X1-1 2690 X3=M[X2] 2695 D0=X1*12+X2+(X3/M[X2]) 2700 D5=D0-D 2710 IF D5 <= 0 THEN 2745 2715 X=D5*100 2720 X1=INT(X) 2725 IF X-X1<.5 THEN 2735 2730 X1=X1+1 2735 D5=X1*.01 2740 GOTO 2765 2745 GOTO P6 OF 2750,2760 2750 D0=D0+12 2755 GOTO 2700 2760 D5=1 2765 IF V3=1 OR S5#-1 THEN 2810 2770 IF D5<12 THEN 2603 2775 X=12 2780 X1=24 2785 IF D5 >= X AND D54 THEN 2925 2912 IF T[I,1]=0 THEN 2950 2915 X=(T[I,4]/T[I,1])*100 2920 GOTO 2930 2925 X=T[I,J-3]*T[I,4]*100 2930 T[I,J]=INT(X) 2935 IF X-T[I,J]<.5 THEN 2945 2940 T[I,J]=T[I,J]+1 2945 T[I,J]=T[I,J]*.01 2950 NEXT J 2955 NEXT I 2960 FOR J=1 TO 6 2965 FOR I=1 TO 3 2970 T[4,J]=T[4,J]+T[I,J] 2975 NEXT I 2977 T[6,J]=T[4,J]+T[5,J] 2980 NEXT J 2985 RETURN 3000 P1=C 3010 IF C<9 THEN 3090 3020 P1=9 3030 IF C <= 16 THEN 3090 3040 P1=10 3050 IF C <= 23 THEN 3090 3060 P1=11 3070 IF C <= 27 THEN 3090 3075 P1=12 3080 IF C <= 29 THEN 3090 3085 P1=13 3090 RETURN 4000 X=R/C8 4038 X1=INT(X) 4040 X2=INT((X-X1)*100) 4042 FOR I=1 TO (C8-1) 4044 IF X2=I*25 THEN 4054 4046 NEXT I 4048 R1=X1 4050 R2=C8 4052 GOTO 4057 4054 R1=X1+1 4056 R2=I 4057 RESTORE 260 4058 FOR N=1 TO C9 4060 READ A$ 4062 IF R1<201 THEN 4070 4063 R1=R1-200 4065 NEXT N 4067 PRINT "ERR IN P"; 4068 STOP 4070 ASSIGN A$,1,W5 4080 RETURN 4100 B1=0 4102 MAT READ #1,R1;C 4105 IF C[R2,1]=-1 THEN 4180 4107 B1=1 4110 J=1 4111 FOR I=1 TO 9 STEP 4 4112 S5=SGN(C[R2,J]) 4113 C[R2,J]=ABS(C[R2,J]) 4114 S[I]=INT(C[R2,J]/10^4) 4115 S[I+1]=C[R2,J]-S[I]*10^4 4116 IF I#9 THEN 4119 4117 S[I+1]=INT(S[I+1]/100) 4118 S[I+2]=C[R2,J]-S[I]*10^4-S[I+1]*100 4119 J=J+2 4120 NEXT I 4122 S[3]=INT(C[R2,2]/10^5) 4125 S[4]=C[R2,2]-S[3]*10^5 4145 S[7]=INT(C[R2,4]/10) 4150 S[8]=C[R2,4]-S[7]*10 4170 S[12]=INT(C[R2,6]/100) 4175 S[13]=C[R2,6]-S[12]*100 4176 S[14]=INT(C[R2,8]/10^5) 4177 S[15]=INT((C[R2,8]-S[14]*10^5)/10) 4178 S6=S[13]*10+S[14] 4180 RETURN 4250 PRINT '7'7"INVALID DATA";H$[3,5]; 4255 B1=1 4257 RETURN 4800 X1=INT(X/10^4) 4810 X2=INT((X-X1*10^4)/100) 4820 X3=X-X1*10^4-X2*100 4830 RETURN 5000 PRINT TAB(10); 5005 IF Q1#8 THEN 5050 5040 PRINT "VT06"; 5045 RETURN 5050 Z$="####-###" 5055 X$="0" 5060 X=INT(U[Q1]/1000) 5065 Z[2]=U[Q1]-X*1000 5070 GOTO X OF 5075,5080,5085,5090 5075 Z[1]=2200 5077 GOTO 5095 5080 Z[1]=3000 5082 GOTO 5095 5085 Z[1]=3300 5087 GOTO 5095 5090 Z[1]=3360 5095 GOSUB 9000 5100 RETURN 6000 PRINT 6040 RETURN 8000 GOTO P5 OF 8005,8010 8005 PRINT '12'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18; 8007 GOTO 8020 8010 K=66-P9 8015 GOSUB 9910 8020 K=4 8030 GOSUB 9910 8040 PRINT TAB(16)"DATE: "; 8050 Z$="##/##/##" 8060 X$=" " 8070 Z[1]=D1 8080 Z[2]=D2 8090 Z[3]=D3 8100 GOSUB 9000 8110 PRINT TAB(50)"I N V E N T O R Y C O N T R O L"; 8120 K=30 8130 GOSUB 9950 8150 Z$="##" 8160 P4=P4+1 8165 Z[1]=P4 8167 PRINT "PAGE: "; 8170 GOSUB 9000 8172 GOSUB 6000 8175 PRINT TAB(56)"SUMMARY OF OWNERSHIP"; 8176 IF P6=2 THEN 8180 8177 PRINT " (AUTO RENEW)"; 8180 K=2 8185 GOSUB 9900 8190 PRINT TAB(10)"PRODUCT";TAB(25)"OWNERSHIP TOTAL TOTAL MONTHLY"; 8191 PRINT " TOTAL MONTHLY AVERAGE TOTAL REMAINING "; 8192 PRINT "TOTAL REMAINING"; 8193 GOSUB 6000 8194 PRINT TAB(36)"UNITS EQ.RENTAL PRICE MAINTENANCE PRICE "; 8195 PRINT "LIFE EQ.RENTALS MAINT. PAYMENTS"; 8200 K=2 8210 GOSUB 9900 8220 P9=12 8230 RETURN 9000 REM 9002 V=Z2=Z3=Z4=Z5=Z7=Z8=Z9=1 9004 DIM V$[30],Y$[10],Z$[30] 9006 Y$="0123456789" 9008 Z0=Z9-1 9010 Z0=Z0+1 9012 IF Z0=LEN(Z$)+1 THEN 9140 9014 IF Z$[Z0,Z0]="#" THEN 9030 9016 IF Z$[Z0,Z0+1]=".#" THEN 9030 9018 IF Z$[Z0,Z0+1]="+#" THEN 9026 9020 V$[V,V]=Z$[Z0,Z0] 9022 V=V+1 9024 GOTO 9010 9026 Z4=0 9028 GOTO 9010 9030 Z=100 9032 Z6=Z[Z2] 9034 Z9=Z0-1 9036 Z9=Z9+1 9038 IF Z$[Z9,Z9]="." THEN 9044 9040 IF Z$[Z9,Z9]="#" THEN 9036 9042 GOTO 9052 9044 IF Z5#1 THEN 9052 9046 Z5=0 9048 Z=Z9 9050 GOTO 9036 9052 IF Z#100 THEN 9056 9054 Z=Z9 9056 IF Z4=1 THEN 9070 9058 IF Z6 >= 0 THEN 9066 9060 V$[V,V]="-" 9062 V=V+1 9064 GOTO 9070 9066 V$[V,V]=" " 9068 V=V+1 9070 IF Z=Z9 THEN 9076 9072 Z6=ABS(Z6)+5*10^(Z-Z9) 9074 GOTO 9078 9076 Z6=ABS(Z6)+.5 9078 Z7=10^(Z-Z0-1) 9080 Z4=10*Z7 9082 FOR Z1=Z-Z0 TO Z+1-Z9 STEP -1 9084 IF Z1#0 THEN 9094 9086 V$[V,V]="." 9088 V=V+1 9090 Z3=0 9092 GOTO 9132 9094 Z8=INT(Z6/Z7) 9096 IF Z6