home *** CD-ROM | disk | FTP | other *** search
- 10 REM CALENDAR.BAS - LAST EDITTED 31/01/82
- 20 REM Dr Dobbs Nov 1981 p61
- 30 REM This program inputs a month and year and
- 40 REM from that prints the current months calendar.
- 50 REM
- 60 DEFINT A-Y
- 70 DEFSTR Z
- 80 INPUT "Month";M
- 90 INPUT "Year";Y
- 100 IF Y<1900 OR Y > 2099 THEN PRINT "Between 1900 and 2099 please!" : GOTO 80
- 110 IF M <1 OR M > 12 GOTO 80
- 120 MONTH = M : YEAR = Y : GOSUB 320
- 130 DAY = D : YEAR = Y : MONTH = M+1
- 140 IF MONTH < 13 GOTO 160 ELSE MONTH = 1
- 150 YEAR = YEAR +1
- 160 GOSUB 320
- 170 D=28+D-DAY
- 180 IF D<28 THEN D = D+7
- 190 FOR I=1 TO M
- 200 READ ZMONTH
- 210 NEXT
- 220 PRINT " ";ZMONTH; TAB(25);
- 230 PRINT USING "####";Y
- 240 PRINT " Sun Mon Tue Wed Thu Fri Sat"
- 250 PRINT TAB(DAY*4+1);
- 260 FOR I=1 TO D
- 270 PRINT USING " ##";I;
- 280 IF (I+DAY) MOD 7 = 0 AND I < D THEN PRINT
- 290 NEXT
- 300 PRINT
- 310 END
- 320 REM Comput the day of the week
- 330 MONTH = MONTH -2
- 340 IF MONTH > 0 GOTO 360 ELSE MONTH = MONTH + 12
- 350 YEAR = YEAR - 1
- 360 CENTURY = YEAR\100
- 370 YEAR = YEAR MOD 100
- 380 D= ((13*MONTH - 1)\ 5 + 5 * YEAR\4 + CENTURY\4 - 2 * CENTURY +1) MOD 7
- 390 RETURN
- 400 DATA January,February,March,April,May,June,July,August,September
- 410 DATA October,November,December
-