Re: My First Program
- Posted by "Cuny, David" <ATB.DCUNY at HW1.CAHWNET.GOV> Mar 26, 1997
- 1102 views
James Powell wrote: > if leap = 0 then > if month > 2 then > day = day - 1 > end if > if day = 0 then > month = month - 1 > day = maxdays[month][2] > end if > end if Why not factor the rest of the code? This stuff: > if day < 32 then > month = 1 > elsif day < 60 then > month = 2 > day = day - 31 > elsif day < 91 then > month = 3 > day = day - 59 > elsif day < 121 then > month = 4 > day = day - 90 > elsif day < 152 then > month = 5 > day = day - 120 > elsif day < 182 then > month = 6 > day = day - 151 > elsif day < 213 then > month = 7 > day = day - 181 > elsif day < 244 then > month = 8 > day = day - 212 > elsif day < 274 then > month = 9 > day = day - 243 > elsif day < 305 then > month = 10 > day = day - 273 > elsif day < 335 then > month = 11 > day = day - 304 > elsif day < 366 then > month = 12 > day = day - 334 > end if can be replaced with a loop similar to the one you already have, and use the array of months: -- START OF CODE -- sum of days that past, not including current month daysPast = 0 -- cycle through the months for i = 1 to length( maxdays ) do -- does the day fall within this month? if day <= daysPast + maxdays[i][2] then -- save the month month = i -- calculate the day day = day - daysPast -- leave the loop exit else -- add the total of prior days daysPast = daysPast + maxdays[i][2] end if end for -- END OF CODE I haven't bothered to test it, but you get the idea. -- David Cuny