A simple Calendar program, show only one month
Code: Select all
'PROGRAM:CALENDAR, SHOW ONLY ONE MONTH
DIM AS INTEGER a,c,d,dm,ds,f,j,k,m,n,y
DIM u (49) AS STRING
DIM v (6,7) AS STRING
d = 1
CLS
INPUT "Month number 1...12 = ";m
INPUT "Year number yyyy = ";y
CLS
IF m = 1 OR m = 3 OR m = 5 OR m = 7 OR m = 8 OR m = 10 OR m = 12 THEN dm = 31
IF m = 4 OR m = 6 OR m = 9 OR m = 11 THEN dm = 30
IF m = 2 THEN dm = 28
IF m = 2 AND ((y MOD 4) = 0 OR ((y MOD 100) = 0 AND (y MOD 400)) = 0) THEN dm = 29
a = INT((14 - m) / 12)
y = y - a
m = m + (12 * a) - 2
ds =((d + y + INT(y / 4) - INT(y / 100) + INT(y / 400) + INT((31 * m) / 12)) MOD 7)
IF ds = 0 THEN ds = ds +7
IF ds > 0 THEN ds = ds -1
FOR n = 1 TO 49
u(n) = " "
NEXT n
FOR n = 1 TO dm
f = LEN(LTRIM(STR(n)))
IF f =1 THEN
u(n+ds) = " " + LTRIM(STR(n))
ELSE
u(n+ds) = LTRIM(STR(n))
END IF
NEXT n
c = 1
FOR j = 1 TO 6
FOR k = 1 TO 7
v(j,k) = MID(u(c),1,3)
c = c + 1
NEXT k
NEXT j
PRINT "Mo Tu We Th Fr Sa Su"
FOR j = 1 TO 6
FOR k = 1 TO 7
PRINT v(j, k) ;" ";
NEXT k
PRINT
NEXT j
SLEEP
END
Regards