1 CLS
10 PRINT TAB(15);"CHECK1":PRINT
20 PRINT"THIS PROGRAM PERMITS THE USER TO INPUT THE NECESSARY DATA
30 PRINT"IN ORDER TO PRINT CHECK AND STUB ON NEBS CHECKS ,PRODUCT 9020
40 PRINT"AVAILABLE FROM NEW ENGLAND BUSINESS SERVICE(1-800-225-6380)
50 PRINT"IN MASS. (1-800-252-9226)
60 PRINT" AS MANY AS 50 CHECKS MAY BE PRINTED IN A RUN. A REGISTER MAY
70 PRINT"BE GENERATED OF ALL CHECKS IN THE RUN
90 INPUT"PRESS ENTER TO BEGIN";Z9$
95 CLEAR 2000
97 DIM D$(55),CN$(55),XX(55),P$(55)
99 GOSUB 9000
100 CLS:PRINT TAB(10); "MENU":PRINT
105 PRINT"0. QUIT
110 PRINT"1. INPUT DATA AND PRINT CHECKS
120 PRINT"2. PRINT CHECK REGISTER
130 PRINT"3. INPUT TODAY'S DATE INTO SYSTEM"
190 PRINT:INPUT"ENTER CHOICE ";Z9
195 IF Z9 = 0 THEN END
200 ON Z9 GOSUB 400,600,300
210 GOTO 100
300 REM INPUT SYSTEM DATE
310 CLS:INPUT"ENTER TODAY'S DATE  IN FORM MM/DD/YY";D9$
320 IF LEN(D9$)<>8 THEN GOSUB 10000:GOTO 310
330 PRINT:PRINT"SYSTEM DATE IS ";D9$
340 PRINT:GOSUB 10100:RETURN
400 REM CHECK DATA INPUT & PRINTING
402 D$=D9$
405 CLS
410 INPUT"CHECK DATE(0 TO END)";D$
412 IF D$="0" THEN RETURN
415 INPUT"INPUT CHECK #      ";CN$
420 INPUT"INPUT AMT OF CHECK ";X
425 IF X>100000 THEN GOSUB 10000:GOTO 420
430 INPUT"ENTER PAYABLE TO  ";P$
435 IF LEN(P$)>22 THEN PRINT"LENGTH TOO LONG. 22 CHARACTERS IS MAX.":PRINT: GOTO 430
440 INPUT"ENTER COMMENTS(LINE 1)";C$(1)
445 INPUT"ENTER COMMENTS(LINE 2)";C$(2)
450 CLS:GOSUB 1000
460 INPUT"ENTER Y IF OK,N IF ERROR";Z8$
465 IF Z8$<>"Y" AND Z8$<>"N" THEN GOSUB 10000:GOTO 460
470 IF Z8$="N" THEN GOTO 405
475 N=N+1:D$(N)=D$:CN$(N)=CN$:XX(N)=X:P$(N)=P$:REM REGISTER
480 GOSUB 2000:REM ACTUALLY PRINT OUT CHECK
490 GOTO 400
600 REM PRINT TODAY'S CHECK REGISTER
610 CLS:INPUT"INPUT P FOR LINE PRINTER OUTPUT,S FOR SCREEN ONLY";Z2$
615 IF Z2$<>"P" AND Z2$<>"S" THEN GOSUB 10000:GOTO 610
620 PRINT:IF Z2$="P" THEN INPUT"PRESS ENTER WHEN PRINTER READY";Z9$
622 IF Z2$="P" THEN LPRINT TAB(20);"CHECK REGISTER FOR ";D9$
625 CLS:PRINT F$(2):IF Z2$="P" THEN LPRINT F$(2):LPRINT " "
627 XX=0:REM TOTAL CHECK AMOUNT
630 FOR J=1 TO N
635 XX=XX+XX(J)
640 PRINT USING F$(1);CN$(J),D$(J),P$(J),XX(J)
645 IF Z2$="P" THEN LPRINT USING F$(1);CN$(J),D$(J),P$(J),XX(J)
650 IF J/12=INT(J/12) THEN GOSUB 10100:CLS:PRINT F$(2)
660 NEXT J
670 PRINT:PRINT "TOTAL CHECKS = ";N;:PRINT USING "   TOTAL CHECK AMOUNTS = $$#####.##";XX
675 IF Z2$<>"P" THEN GOTO 690
680 LPRINT" ":LPRINT "TOTAL CHECKS = ";N;:LPRINT USING "   TOTAL CHECK AMOUNTS = $$#####.##";XX
690 PRINT:GOSUB 10100
695 RETURN
1000 REM DISPLAY CHECK DATA
1010 PRINT "CHECK DATE: ";D$
1020 PRINT "CHECK #     ";CN$
1030 PRINT "CHECK AMOUNT";X
1035 PRINT "PAYABLE TO  ";P$
1040 PRINT "COMMENT 1 ";C$(1)
1045 PRINT "COMMENT 2 ";C$(2)
1050 PRINT
1060 RETURN
2000 REM ACTUALLY PRINT OUT CHECK
2010 CLS:INPUT"ENTER Y TO PRINT CHECK,N TO SKIP PRINT";Z4$
2015 IF Z4$<>"Y" AND Z4$<>"N" THEN GOSUB 10000:GOTO 2010
2020 IF Z4$="N" THEN RETURN
2030 LPRINT " ":LPRINT " "
2035 LPRINT D9$;TAB(10); P$;TAB(63);
2037 LPRINT USING "        $$####.##";X
2040 LPRINT " ":LPRINT " "
2045 LPRINT TAB(10); C$(1):LPRINT TAB(10); C$(2)
2050 CP=9:GOSUB 10600
2060 LPRINT D$;TAB(13); CN$;TAB(63);
2062 LPRINT USING "        $$####.##";X
2070 CP=13:GOSUB 10600
2080 LPRINT TAB(7);TAB(41);D$;TAB(55); CN$;TAB(63);
2082 LPRINT USING "      $$####.##";X;
2090 LPRINT " "
2100 LPRINT TAB(7);
2102 LPRINT USING "$$####.##";X;:LPRINT"*****"
2110 CP=10:GOSUB 10600
2120 D$="":CN$="":X=0:P$="":C$(1)="":C$(2)=""
2130 RETURN
9000 REM FORMAT VARIABLES
9010 F$(1)="%       %  %       %     %                 %   ######.##"
9020 F$(2)="CHECK  #      DATE          PAYABLE    TO        AMOUNT"
9099 RETURN
10000 PRINT"INPUT ERROR! TRY AGAIN!":FOR JJ=1 TO 600:NEXT:RETURN
10100 INPUT"PRESS ENTER TO CONTINUE";Z9$
10110 RETURN
10600 REM SKIP CP LINES ON LINE PRINTER
10610 FOR JK=1 TO CP:LPRINT" ":NEXT
10620 RETURN
