示例#1
0
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");
    }
}
示例#2
0
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");
}