10 REM > Days4 20 REM calculates day of week 30 MODE 27:REM use mode 12 for standard resolution monitor 40 ON ERROR REPORT:PRINT " at line ";ERL:END 50 COLOUR 128+4 60 DIM monnum%(12),day$(6) 70 FOR m%=1 TO 12:READ monnum%(m%):NEXT 80 FOR d%=0 TO 6:READ day$(d%):NEXT 90 ON ERROR PROCerror 100 REPEAT 110 CLS 120 INPUT TAB(15,10) "Please enter the day of the month "date% 130 INPUT TAB(15,11) "Now enter month number (1-12) "mon% 140 INPUT TAB(15,12) "Now enter the year "year% 150 IF year%<40 year%+=100 160 IF year%<140 year%+=1900 170 IF year%<1900 OR year%>2099 THEN ERROR 1<<30,"Sorry, this program only works with years 1900 to 2099" 180 year%-=1900 190 leaps%=year% DIV 4 200 IF (year% MOD 4)=0 AND mon%<3 AND year%>0 THEN leaps%-=1 210 total%=year%+leaps%+monnum%(mon%)+date% 220 total%=total% MOD 7 230 COLOUR 3 240 PRINT TAB(15,14) "That day was a ";:COLOUR 7:PRINT day$(total%) 250 PRINT TAB(15,16) "Do you want another go (y/n)" 260 char$=GET$ 270 UNTIL char$<>"Y" AND char$<>"y" 280 END 290 DATA 0,3,3,6,1,4,6,2,5,0,3,5 300 DATA Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday 310 : 320 DEFPROCerror 330 CASE ERR OF 340 WHEN 1<<30:PRINT TAB(10,14)REPORT$':PRINT TAB(10,16) "Press any key to continue";:REPEAT UNTIL GET 350 OTHERWISE 360 REPORT:PRINT " at line ";ERL:END 370 ENDCASE 380 ENDPROC 390 :