PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

Challenger 1P BASIC Programs

CHECKING.BAS

OSI Challenger 1P

Challenger 1P
Speed:
Stopped

Listing

 1 REM ***ROBERT L.
 2 REM ***COPPEDGE
 3 FOR SC=1TO32:PRINT:NEXT
 4 DIM A$(20),Y(20),Q(20)
 5 PRINT"THIS PROGRAM FIGURES"
 6 PRINT"OUT YOUR CHECKING"
 7 PRINT"ACCOUNT.  TO DO"
 8 PRINT"THIS, A NUMBER OF"
 9 PRINT"THINGS ARE NEEDED, SUCH"
 10 PRINT"AS THE NUMBER OF CHECKS"
 11 PRINT"TO BE USED, THE TOTAL"
 12 PRINT"AMOUNT TO START WITH,"
 13 PRINT"AND THE NAME OF THE "
 14 PRINT"RECIPIENT OF THE CHECK,":PRINT"AS WELL AS THE AMOUNT."
 15 PRINT:INPUT"TYPE 'C' TO CONTINUE";A$
 16 FOR SC=1TO32:PRINT:NEXT
 34 PRINT"IF YOU HAVE MADE A"
 35 PRINT"MISTAKE, AND YOU WOULD"
 36 PRINT"LIKE TO CORRECT IT,"
 37 PRINT"MERELY TYPE IN THE WORD"
 38 PRINT"'HELP' WHEN I ASK"
 39 PRINT"YOU FOR A CHECK'S NAME."
 45 HELP=-6
 46 PRINT
 50 PRINT:PRINT"PLEASE ENTER YOUR":PRINT"INITIAL BALANCE"
 54 INPUT T
 60 IF T=-6 THEN 160
 62 PRINT
 65 PRINT"HOW MANY CHECKS DO YOU"
 66 PRINT"WANT TO BE TOTALLED";:INPUT X
 67 IF X=0 THEN 160
 70 IF X=-6 THEN GOTO 160
 71 FOR SC=1TO32:PRINT:NEXT
 75 PRINT"ENTER THE NAME OF THE ":PRINT"PERSON OR PERSONS TO"
 76 PRINT"WHOM THE CHECKS WERE ":PRINT"WRITTEN."
 77 PRINT
 78 PRINT"IT'S A GOOD IDEA TO ":PRINT"LIST THEM IN ORDER."
 80 PRINT
 90 PRINT"IF IT IS A DEPOSIT, ":PRINT"TYPE 'XDEPOSIT' AND"
 91 PRINT"THEN THE AMOUNT.":PRINT
 94 IF X=0 THEN 160
 95 FOR Z=1 TO X
 100 PRINT:PRINT"CHECK NUMBER";Z:PRINT
 101 PRINT"MADE OUT TO:"
 105 INPUT A$(Z)
 110 IF A$(Z)="HELP" THEN 160
 114 PRINT
 115 PRINT"AMOUNT";:INPUT Y(Z)
 120 IF Y(Z)=-6 THEN 160
 124 IF A$(Z)="XDEPOSIT" THEN Y(Z)=-Y(Z)
 125 NEXT Z
 128 L=T:PRINT:PRINT:PRINT
 129 PRINT"ORIGINAL AMOUNT:  ";:PRINTT
 130 PRINT:PRINT"#--MADE TO"
 131 PRINTTAB(9)"AMOUNT--BALANCE"
 133 PRINT:PRINT
 135 FOR Z=1 TO X
 140 PRINTZ;:PRINTA$(Z)
 146 LET Q(Z)=ABS(Y(Z))
 150 L=L-Y(Z)
 153 PRINTTAB(10)Q(Z);:PRINTTAB(20)L:PRINT
 155 NEXT Z
 156 FOR Z=1 TO 5000
 157 NEXT Z
 158 PRINT:PRINT:PRINT
 160 FOR SC=1TO32:PRINT:NEXT
 161 PRINT"IF THERE ARE MISTAKES":PRINT"THAT YOU WOULD LIKE"
 162 PRINT"TO CORRECT THEN TYPE IN"
 166 PRINT"ONE OF THE FOLLOWING":PRINT"NUMBERS:"
 170 PRINT:PRINT"1) IF THE TOTAL IS WRONG"
 175 PRINT:PRINT"2) IF A CHECK OR DEP-":PRINT"   OSIT IS INCORRECT."
 180 PRINT:PRINT"3) IF EVERYTHING'S OK.":PRINT
 190 PRINT:PRINT
 195 INPUT"(1,2 OR 3)";R
 196 IF R<1 THEN 165
 197 IF R>3 THEN 165
 199 PRINT:PRINT:PRINT
 200 ON R GOTO 220,230,205,215
 205 PRINT"OK.":GOTO 400
 215 PRINT"TRY AGAIN":GOTO 175
 220 PRINT"ENTER IN NEW TOTAL";:INPUT T:GOTO 128
 230 PRINT"DO YOU HAVE MORE CHECKS"
 231 PRINT"OR DEPOSITS TO ADD"
 232 PRINT"(YES OR NO)";:INPUT N$
 234 PRINT:PRINT:PRINT
 235 IF N$="NO" THEN 250
 240 PRINT"HOW MANY MORE";:INPUT W
 245 X=X+W :GOTO 310
 250 PRINT"DO YOU WANT TO EITHER"
 251 PRINT"CHANGE OR ERASE ONE OF"
 252 PRINT"THE CHECKS OR DEPOSITS";
 255 INPUT N$:IF N$="YES" THEN 270
 256 PRINT:PRINT:PRINT
 260 GOTO 160
 270 PRINT:PRINT:PRINT"WHICH CHECK # DO YOU WANT"
 271 PRINT"TO CHANGE";:INPUT M
 274 PRINT:PRINT:PRINT
 275 PRINT"DO YOU WANT TO CHANGE OR"
 276 PRINT"ERASE IT (1=CHANGE, "
 277 PRINT"2=ERASE)";:INPUT K
 278 PRINT:PRINT:PRINT
 280 ON K GOTO 300,290,275
 290 A$(M)="DELETED"
 291 Y(M)=0
 295 GOTO 128
 300 PRINT"NEW CHECK NAME"
 301 INPUT A$(M)
 302 PRINT"NEW AMOUNT";:INPUT Y(M)
 303 PRINT:PRINT:PRINT
 305 PRINT"ANY MORE CHECKS TO BE"
 306 PRINT"REDONE(YES OR NO)";:INPUT B$
 307 IF B$="NO" THEN 130
 308 IF B$="YES" THEN 273
 309 GOTO 130
 310 FOR Z=X-(W-1) TO X
 315 PRINT"CHECK #":PRINTZ
 320 PRINT"MADE OUT TO:"
 325 INPUT A$(Z)
 326 IF A$(Z)="HELP" THEN 160
 330 PRINT"AMOUNT";:INPUT Y(Z)
 335 IF Y(Z)=-6 THEN 160
 340 NEXT Z
 345 GOTO 128
 400 END