static char daytab[2][13] = {
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
int day_of_year(int year, int month, int day)
{
int i, leap;
leap = year%4 == 0 && year%100 != 0 ¦¦ year%400 == 0;
for (i = 1; i < month; i++)
day += daytab[leap][i];
return day;
}
Let's code: month day calculator
Add the proper error checking mechanisms
Implement month_day function that given a year and a year day, calculate the corresponding month and the month's day numbers. Use pointers for month and month's day.
/* month_day function's prototype*/
void month_day(int year, int yearday, int *pmonth, int *pday);