home *** CD-ROM | disk | FTP | other *** search
- 0 REM 02-02-85 <-- last backup
- 10 PRINT CHR$(26)
- 20 PRINT"Eric Gans"
- 30 PRINT"French Department UCLA"
- 40 PRINT"Los Angeles, CA 90024"
- 50 PRINT"02/02/85"
- 60 PRINT
- 70 REM written by Eric Gans 6/24/84
- 80 DEFINT A-Z
- 90 REM calendar pgm
- 100 PRINT TAB(7)STRING$(52,42)
- 110 PRINT TAB(7)"*"TAB(30)"CAL"TAB(58)"*"
- 120 PRINT TAB(7)"* This program gives the day of the week for any *"
- 130 PRINT TAB(7)"* date. It also displays/prints a calendar for any *"
- 140 PRINT TAB(7)"* month or for an entire year. *"
- 150 PRINT TAB(7)STRING$(52,42)
- 160 PRINT
- 170 DIM CM(12),M$(12)
- 180 DATA 0,3,3,6,1,4,6,2,5,0,3,5
- 190 FOR I=1 TO 12:READ CM(I):NEXT
- 200 DATA Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
- 210 FOR I=0 TO 6:READ D$(I):NEXT
- 220 DATA January,February,March,April,May,June,July,August,September
- 230 DATA October,November,December
- 240 FOR I=1 TO 12:READ M$(I):NEXT
- 250 INPUT "Year";Y
- 260 IF Y=0 THEN END
- 270 PRINT"Print year calendar (y/n)?"
- 280 E$=INPUT$(1):IF E$<>"y" AND E$<>"n" THEN 280
- 290 NY=Y-1
- 300 DAYJ=(1+NY+NY\4-NY\100+NY\400)MOD 7:DAYJ=(7+DAYJ)MOD 7
- 310 IF E$="y" THEN 750
- 320 INPUT "Month";M
- 330 IF M<1 OR M>12 THEN PRINT CHR$(7);:GOTO 320
- 340 LM=28+(CM((M+1)MOD 13)-CM(M)+7)MOD 7
- 350 IF M=12 OR (M=2 AND Y MOD 4=0 AND NOT(Y MOD 100=0 AND Y MOD 400<>0)) THEN LM=LM+1
- 360 DAYM=(DAYJ+CM(M))MOD 7
- 370 IF Y MOD 4=0 AND M>2 AND NOT(Y MOD 100=0 AND Y MOD 400<>0) THEN DAYM=DAYM+1
- 380 INPUT "Day (0 for calendar)";D
- 390 IF D=0 THEN 450
- 400 IF D<1 OR D>LM THEN PRINT CHR$(7);:GOTO 380
- 410 DW=(DAYM+D-1)MOD 7
- 420 PRINT"Day of week is: "D$(DW)
- 430 PRINT:PRINT"See calendar (y or n)? ";
- 440 E$=INPUT$(1):IF E$="n" GOTO 460 ELSE IF E$<>"y" GOTO 440
- 450 GOSUB 510
- 460 PRINT:PRINT"More (y or n)?"
- 470 PRINT
- 480 E$=INPUT$(1)
- 490 IF E$="y" GOTO 250 ELSE IF E$<>"n" GOTO 480
- 500 END
- 510 REM print cal
- 520 PRINT"To print out, ready printer, type any key -->";
- 530 E$=INPUT$(1)
- 540 PRINT:PRINT
- 550 LPRINT:LPRINT
- 560 PRINT TAB(25)CHR$(27)"B3"M$(M)" "Y;CHR$(27)"C3"CHR$(8)CHR$(32)
- 570 LPRINT TAB(32)CHR$(27)"C "M$(M)" "Y;CHR$(27)"D"
- 580 PRINT
- 590 LPRINT:LPRINT
- 600 PRINT TAB(10);
- 610 LPRINT TAB(17);
- 620 FOR I=0 TO 6:LPRINT USING"\ \";D$(I);:PRINT USING"\ \";D$(I);:LPRINT" ";:PRINT" ";:NEXT:PRINT:LPRINT:LPRINT
- 630 PRINT" ";
- 640 LPRINT TAB(12);
- 650 PRINT SPACE$(7*((DAYM)MOD 7));
- 660 LPRINT SPACE$(7*((DAYM)MOD 7));
- 670 FOR I=1 TO LM
- 680 PRINT USING"#######";I;
- 690 LPRINT USING"#######";I;
- 700 IF (DAYM+I)MOD 7=0 THEN PRINT:PRINT" ";:LPRINT:LPRINT:LPRINT TAB(12);
- 710 NEXT
- 720 PRINT
- 730 LPRINT
- 740 RETURN
- 750 REM adapted 10/13/84
- 760 PRINT"To print, ready printer; type any key --->";:E$=INPUT$(1)
- 770 REM prints year calendar
- 780 D$=CHR$(27)+"B3"+"S M T W T F S"+CHR$(27)+"C3"
- 790 DP$=CHR$(27)+"C"+"S M T W T F S"+CHR$(27)+"D"
- 800 PRINT:PRINT
- 810 PRINT TAB(33)Y" CALENDAR"
- 820 LPRINT TAB(35)CHR$(31)Y;CHR$(30)
- 830 FOR M=1 TO 6
- 840 LM=28+(CM((M+1)MOD 13)-CM(M)+7)MOD 7
- 850 LM2=28+(CM((M+7)MOD 13)-CM(M+6)+7)MOD 7
- 860 IF (M=2 AND Y MOD 4=0 AND NOT(Y MOD 100=0 AND Y MOD 400<>0)) THEN LM=LM+1
- 870 IF M=6 THEN LM2=LM2+1
- 880 DAYM=(DAYJ+CM(M))MOD 7:DAYM2 =(DAYJ+CM(M+6))MOD 7
- 890 IF Y MOD 4=0 AND M>2 AND NOT(Y MOD 100=0 AND Y MOD 400<>0) THEN DAYM=DAYM+1
- 900 IF Y MOD 4=0 AND NOT(Y MOD 100=0 AND Y MOD 400<>0) THEN DAYM2=DAYM2+1
- 910 J=1
- 920 REM print cal
- 930 PRINT:PRINT TAB(20)M$(M);TAB(55)M$(M+6)
- 940 LPRINT:LPRINT TAB(20)M$(M);TAB(55)M$(M+6)
- 950 PRINT:PRINT TAB(14)D$;TAB(53)D$
- 960 LPRINT:LPRINT TAB(14)DP$;TAB(53)DP$
- 970 PRINT SPACE$(11+3*((DAYM)MOD 7));
- 980 LPRINT SPACE$(11+3*((DAYM)MOD 7));
- 990 FOR I=1 TO LM
- 1000 PRINT USING"###";I;
- 1010 LPRINT USING"###";I;
- 1020 IF (DAYM+I)MOD 7=0 OR I=LM THEN GOSUB 1100
- 1030 NEXT
- 1040 GOSUB 1100:IF LM=28 AND DAYM=0 THEN GOSUB 1100
- 1050 NEXT M
- 1060 PRINT:PRINT:LPRINT:LPRINT
- 1070 PRINT"More (y/n)?"
- 1080 Y$=INPUT$(1):IF Y$="n" THEN END ELSE IF Y$<>"y" THEN 1080
- 1090 GOTO 250
- 1100 REM month+6
- 1110 IF J>LM2 THEN RETURN
- 1120 IF J=1 THEN PRINT TAB(47+3*((DAYM2)MOD 7)); ELSE PRINT TAB(47);
- 1130 IF J=1 THEN LPRINT TAB(47+3*((DAYM2)MOD 7)); ELSE LPRINT TAB(47);
- 1140 PRINT USING"###";J;
- 1150 LPRINT USING"###";J;
- 1160 J=J+1
- 1170 IF (DAYM2+J-1)MOD 7=0 OR J>LM2 THEN PRINT:LPRINT:PRINT SPC(11);:LPRINT SPC(11);:RETURN
- 1180 GOTO 1140
- ";J;
- 1160 J=J+1
- 1170 IF