10 REM > Days5_12 20 REM calculates day of week 30 REM standard resolution monitor version 40 MODE 12 50 ON ERROR REPORT:PRINT " at line ";ERL:END 60 COLOUR 128+6 70 CLS 80 PROCsurround 90 VDU 28,10,50,70,5 100 COLOUR 128+4 110 DIM monnum%(12),day$(6) 120 FOR m%=1 TO 12:READ monnum%(m%):NEXT 130 FOR d%=0 TO 6:READ day$(d%):NEXT 140 ON ERROR PROCerror 150 REPEAT 160 CLS 170 INPUT TAB(12,8) "Please enter the day of the month "date% 180 INPUT TAB(12,9) "Now enter month number (1-12) "mon% 190 INPUT TAB(12,10) "Now enter the year "year% 200 IF year%<40 year%+=100 210 IF year%<140 year%+=1900 220 IF year%<1900 OR year%>2099 THEN ERROR 1<<30,"Sorry, this program only works with years 1900 to 2099" 230 year%-=1900 240 leaps%=year% DIV 4 250 IF (year% MOD 4)=0 AND mon%<3 AND year%>0 THEN leaps%-=1 260 total%=year%+leaps%+monnum%(mon%)+date% 270 total%=total% MOD 7 280 COLOUR 3 290 PRINT TAB(12,12) "That day was a ";:COLOUR 7:PRINT day$(total%) 300 PRINT TAB(12,14) "Do you want another go (y/n)" 310 char$=GET$ 320 UNTIL char$<>"Y" AND char$<>"y" 330 END 340 DATA 0,3,3,6,1,4,6,2,5,0,3,5 350 DATA Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday 360 : 370 DEFPROCsurround 380 COLOUR 1 390 PRINT TAB(20,2) "T W O C E N T U R Y C A L E N D A R" 400 COLOUR 7 410 ENDPROC 420 : 430 DEFPROCerror 440 CASE ERR OF 450 WHEN 1<<30:PRINT TAB(3,12)REPORT$':PRINT TAB(3,14) "Press any key to co ntinue";:REPEAT UNTIL GET 460 OTHERWISE 470 REPORT:PRINT " at line ";ERL:END 480 ENDCASE 490 ENDPROC 500 :