定义一个满足如下要求的Date类
(1)用下面的格式输出日期: 日/月/年
(2)可运行在日期上加一天操作(扩展为若干天)
(3)设置日期
#include <iostream>
using namespace std;
class Data
{
private:
int _day;
int _month;
int _year;
public:
Data(int n_day, int n_month, int n_year);
void add();
void show();
};
Data::Data(int n_day=0, int n_month=0, int n_year=0):_day(n_day),_month(n_month),_year(n_year){
}
void Data::add() //加天操作
{
int n;
cout << "Please enter a number:";
cin >> n;
cout << endl;
_day = _day + n;
if ((_month == 1 || _month == 3 || _month == 5 || _month == 7 || _month == 8 || _month == 10) && (_day >= 31))
{
_day -= 31;
_month ++;
}
if (_month == 12 && _day >= 31)
{
_day -= 31;
_month = 1;
_year ++;
}
if ((_month == 4 || _month == 6 || _month == 9 || _month == 11) && _day >= 30)
{
_day -= 30;
_month ++;
}
if ((_month == 2 && ((_year % 4 == 0 && _year % 100 != 0) || (_year % 400 == 0))) && _day >= 29)
{
_day -= 29;
_month ++;
}
if ((_month == 2 && ((_year % 4 != 0) || (_year % 100 == 0 &&_year % 400 != 0))) && _day >= 28)
{
_day -= 28;
_month ++;
}
}
void Data::show()
{
cout<< _day << "/" << _month << "/" << _year << endl;
}
int main()
{
int y1, m1, d1, y2, m2, d2;
cout << "Please enter a date:" ;
cin >> d1 >> m1 >> y1;
cout << endl;
Data a(d1,m1,y1);
cout << "The original date:" ;
a.show();
cout << endl;
a.add();
cout << "The date after the change:";
a.show();
cout << endl;
cout << "Please set the date:";
cin >> d2 >> m2 >> y2;
cout << endl;
Data c(d2, m2, y2);
cout << "The date after set:";
c.show();
return 0;
}
如有不足,还请各位大佬多多指教
如果有大佬愿意补充以下减少天数的那一部分,小生感激不尽 (._. )>