#include #include #include #include #include #define SECS_IN_DAY 86400 int main(int argc, char *argv[]) { long lToday; int iCntr; char cTmp[5]; struct tm *pTimePtr; int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; time(&lToday); pTimePtr = localtime(&lToday); if (argc == 2) { sprintf(cTmp, "%c%c%c%c", argv[1][0], argv[1][1], argv[1][2], argv[1][3]); pTimePtr->tm_year = atoi(cTmp) - 1900; } iCntr = 0; while (iCntr < 12) { pTimePtr->tm_mon = iCntr; pTimePtr->tm_mday = 1; lToday = mktime(pTimePtr); pTimePtr = localtime(&lToday); if ((pTimePtr->tm_wday == 5) && (days[iCntr] == 31)) printf("%d/%d has 5 Fridays & Saturdays & Sundays\n", pTimePtr->tm_mon+1, pTimePtr->tm_year + 1900); else if ((pTimePtr->tm_wday == 6) && (days[iCntr] == 31)) printf("%d/%d has 5 Saturdays & Sundays & Mondays\n", pTimePtr->tm_mon+1, pTimePtr->tm_year + 1900); iCntr++; } return 0; }