clear; close all % % Get the date given day-of-year % months = ['JAN';'FEB';'MAR';'APR';'MAY';'JUN'; ... 'JUL';'AUG';'SEP';'OCT';'NOV';'DEC']; days = [ 31 ; 28 ; 31 ; 30 ; 31 ; 30 ; ... 31 ; 31 ; 30 ; 31 ; 30 ; 31 ]; while 1 done = 0; while ~done year = input('Year: '); done = year>0; end leap = 0; if mod(year,400) == 0 leap = 1; elseif mod(year,100) == 0 leap = 0; elseif mod(year,4) == 0 leap = 1; end; if leap days(2) = 29; %% Feb has 29 days days_yr = 366; %% 366 total disp('leap year') else days_yr = 365; end done = 0; while ~done day_of_yr = input('Day of year: '); done = day_of_yr > 0 & day_of_yr <= days_yr; end for mo = 1:12 if day_of_yr <= days(mo) break else day_of_yr = day_of_yr - days(mo); end end day = day_of_yr; fprintf('%s %d, %d\n',months(mo,:),day,year); end