100 DIM M(13) 110 REM THIS PROGRAM PRINTS A CALENDER FOR ANY YEAR 120 REM THE DAY OF JAN 1 MUST BE INPUT. HAMILL 9/19/75 130 PRINT "WHAT YEAR?"; 140 INPUT Y 150 PRINT "FIRST DAY? (0=SUN,-1=MON,-2=TUE,ETC) "; 160 INPUT D 170 D4=365 180 B1=7 190 P1=27 200 P2=12 210 C2=23 220 PRINT " ";Y 230 FOR N= 0 TO 12 240 READ M(N) 250 NEXT N 260 PRINT CHR$(P1);CHR$(P2) 270 Z=Y/4 280 Z1=INT(Z*10) 290 Z2=(INT(Z))*10 300 IF Z1-Z2 = 0 THEN 320 310 GO TO 340 320 D4=366 330 M(2)=29 340 S=0 350 PRINT " CALENDER FOR YEAR" 360 PRINT " ";Y 370 FOR N=1 TO 12 380 IF N=1 THEN 440 390 Q1=INT(N/2) 400 Q2=INT(5*N)/10 410 IF Q1-Q2<>0 THEN430 420 GOTO 440 430 GOSUB 1200 440 PRINT 450 PRINT 460 S=S+M(N-1) 470 PRINT "**";S;TAB(7); 480 FOR I=1 TO 18 490 PRINT "*"; 500 NEXT I 510 IF N=1 THEN940 520 IF N=2 THEN 960 530 IF N=3 THEN 980 540 IF N=4 THEN 1000 550 IF N=5 THEN 1020 560 IF N=6 THEN 1040 570 IF N=7 THEN 1060 580 IF N=8 THEN 1080 590 IF N=9 THEN 1100 600 IF N=10 THEN 1120 610 IF N=11 THEN 1140 620 IF N=12 THEN 1160 630 FOR I=1 TO 18 640 PRINT "*"; 650 NEXT I 660 PRINT D4-S;"**"; 670 PRINT 680 PRINT " S M T W T F S" 690 FOR I=1 TO 59 700 PRINT "*"; 710 NEXT I 720 FOR W=1 TO 6 730 PRINT 740 PRINT 750 PRINT TAB(4); 760 FOR G=1 TO 7 770 D =D+1 780 D2=D-S 790 IF D2 > M(N) THEN 860 800 IF D2 <= 0 THEN 820 810 PRINT D2; 820 PRINT TAB(4+8*G); 830 NEXT G 840 IF D2=M(N) THEN 870 850 NEXT W 860 D=D-G 870 NEXT N 880 FOR I=1 TO 2 890 PRINT 900 NEXT I 910 DATA 0,31,28,31,30,31,30,31,31,30,31,30,31 920 REM THIS SUBROUTINE PRINTS THE MONTH NAMES 930 GOTO 1270 940 PRINT " JANUARY "; 950 GOTO 630 960 PRINT "FEBRUARY "; 970 GOTO 630 980 PRINT " MARCH "; 990 GOTO 630 1000 PRINT " APRIL "; 1010 GOTO 630 1020 PRINT " MAY "; 1030 GOTO 630 1040 PRINT " JUNE "; 1050 GOTO 630 1060 PRINT " JULY "; 1070 GOTO630 1080 PRINT " AUGUST "; 1090 GOTO 630 1100 PRINT "SEPTEMBER"; 1110 GOTO 630 1120 PRINT " OCTOBER "; 1130 GOTO 630 1140 PRINT " NOVEMBER "; 1150 GOTO 630 1160 PRINT " DECEMBER "; 1170 GO TO 630 1180 PRINT CHR$(P1);CHR$(C2) 1190 GO TO 1270 1200 PRINT CHR$(P1);CHR$(C2) 1210 PRINT CHR$(P1);CHR$(P2) 1220 FOR I=1 TO 20 1230 PRINT CHR$(B1); 1240 NEXT I 1250 PRINT CHR$(B1) 1260 RETURN 1270 PRINT CHR$(P1);CHR$(C2) 1280 END