//Date.h #ifndef DateFormat #define DateFormat #include #include class Date { public: Date(); Date(int, int); Date(int, int, int); Date(char *, int, int); voidsetMonth(int); voidsetDay(int); voidsetYear(int); voidprintDateSlash(void) const; voidprintDateMonth(void) const; voidprintDateDay(void) const; constchar *monthName(void) const; intleapYear(void) const; intdaysOfMonth(void) const; voidchange(int); intchange1(void) const; voidchange2(constchar * const); constchar *monthList(int) const; intdays(int) const; private: int day; int month; int year; }; class main { public: main(); virtual~main(); }; #endif //Date.cpp #include\"stdafx.h\" #include #include #include #include \"Date.h\" Date::Date() { struct tm *ptr; time_t t = time( 0 ); ptr = localtime( &t ); day = ptr->tm_mday; month = 1 + ptr->tm_mon; year = ptr->tm_year + 1900; } Date::Date( int ss, int ppp ) { setYear( ppp ); change(ss); } Date::Date( int mm, int day1, int yy ) { setYear( yy + 1900 ); setMonth( mm ); setDay(day1); } Date::Date( char *mPtr, int day1, int ppp ) { setYear( ppp ); change2( mPtr ); setDay(day1); } voidDate::setDay( int d1 ) { day = d1 >= 1 && d1 <= daysOfMonth() ? d1 : 1; } voidDate::setMonth( int m ) { month = m >= 1 && m <= 12 ? m : 1; } voidDate::setYear( int y ) { year = y >= 1900 && y <= 1999 ? y : 1900; } voidDate::printDateSlash( void ) const { cout<< month << \'/\' << day << \'/\' << year << \'\ \'; } voidDate::printDateMonth( void ) const { cout << monthName() << \' \' << day << \", \" << year << \'\ \'; } voidDate::printDateDay( void ) const { cout << convert2() << \' \' << year << \'\ \'; } constchar *Date::monthName( void ) const { return monthList( month - 1 ); } intDate::daysOfMonth( void ) const { return leapYear() && month == 2 ? 29 : days( month ); } intDate::leapYear( void ) const { if ( year % 400 == 0 || ( year % 4 == 0 && year % 100 != 0 ) ) return 1; else return 0; } voidDate::convert1( int ss ) { int dayTotal = 0; if ( ss < 1 || ss > 366 ) ss = 1; setMonth( 1 ); for ( int m = 1; m < 13 && ( dayTotal + daysOfMonth() ) < ss; ++m ) { dayTotal += daysOfMonth(); setMonth( m + 1 ); } setDay( ss - dayTotal ); setMonth( m ); } intDate::change1( void ) const { int ss = 0; for ( int m = 1; m < month; ++m ) ss += days( m ); ss += day; return ss; } voidDate::change2( constchar * const mPtr ) { int flag = 0; for ( int subscript = 0; subscript < 12; ++subscript ) if (!strcmp( mPtr, monthList( subscript ) ) ) { setMonth( subscript + 1 ); flag = 1; break; } if ( !flag ) setMonth( 1 ); } constchar *Date::monthList( int mm ) const { char *months[] = { \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" }; return months[ mm ]; } intDate::days( int m ) const { constint monthDays[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; return monthDays[ m - 1 ]; } //main.cpp #include \"Date.h\" #include using sts::cout using std::endl #include #include #include \"p7_07..