void PrintCalendarYear(int year) { for (int month = 1; month <= Months ; ++month) { // print the name of the month followed by the year PrintMonthName(month); printf(" %d\n", year); // print the days of the week printf(" Su Mo Tu We Th Fr Sa\n"); // determine number of day in a given month int monthDays = MonthDays(month, year); // determine which day of the week is the 1st of the month Days weekday = FirstDayOfMonth(month, year); // set the cursor under the day of the week for which the month starts IndentFirstLine((int) weekday); // print the entire month for (int day = 1; day <= monthDays; ++day) { printf(" %2d",day); if (weekday == Saturday) // go to a new line after saturday { printf("\n"); } weekday = (weekday + 1) % 7; // keep track of the day of the week } if (weekday != Sunday) { printf("\n"); } _getch(); printf("\n"); } }
void PrintCalendarMonth(int month, int year) { int weekday, nDays, day; printf(" %s %d\n", MonthName(month), year); printf(" Su Mo Tu We Th Fr Sa\n"); nDays = MonthDays(month, year); weekday = FirstDayOfMonth(month, year); IndentFirstLine(weekday); for (day = 1; day <= nDays; day++) { printf(" %2d", day); if (weekday == Saturday) printf("\n"); weekday = (weekday + 1) % 7; } if (weekday != Sunday) printf("\n"); }