#include #include using namespace std; class date { public: int year; int month; int day; void print() const; void next(int n); void next(); void prev(); void prev(int n); }; // Date lengths per month (no leap year handling) const int date_length[] { 0, // Placeholder for index 0 31, // January 28, // February 31, // March 30, // April 31, // May 30, // June 31, // July 31, // August 30, // September 31, // October 30, // November 31 // December }; void date::print() const { cout << month << "/" << day << "/" << year; } void date::next(int n) { for (int i = 0; i < n; ++i) { next(); } } void date::next() { if (day < date_length[month]) { ++day; } else { day = 1; if (month < 12) { ++month; } else { month = 1; ++year; } } } void date::prev(int n) { for (int i = 0; i < n; ++i) { prev(); } } void date::prev() { if (day > 1) { --day; } else { if (month > 1) { --month; } else { month = 12; --year; } day = date_length[month]; } } int main() { date d {2025, 3, 1}; // March 1, 2025 cout << "Original date: "; d.print(); cout << endl; d.prev(); // Go one day into the past cout << "After prev(): "; d.print(); // Should now be 2/28/2025 cout << endl; return EXIT_SUCCESS; }