#include <iostream>
using namespace std;
class Date
{
public:
Date() {}//构造函数
int fun(int y,int m, int d, int n, int w);
~Date() {};//析构函数
};
int Date::fun(int y, int m, int d, int n, int w)
{
switch (m)
{
case 2:n = 28;
if ((y % 4 == 0 && y % 100 == 0) || (y % 400 == 0))n++;//闰年二月天数加一
break;
case 4:case 6:case 9:case 11:n = 30;
break;
default:n = 31;
}
d++;
if (d > n)d = 1, m++;
if (m > 12)m = 1, y++;
w++;
if (w == 8)w = 1;
return 0;
}
int main()
{
Date date;
int y; int m; int d; int n = -1; int w;
cout << "请输入日期(如2019年2月28日星期四应输入2019 2 28 4):";
cin >> y >> m >> d >> w;
date.fun( y, m, d, n, w);
int choose;
cout << "请选择输出方式:1.x年x月x日星期x 2.x/x/x";
cin >> choose;
if (choose == 1)
{
cout << y << "年" << m << "月" << d << "日星期" << w << endl;
}
else
{
cout << y << "/" << m << "/" << d << endl;
}
return 0;
}
我的预想是:输入一个日期,输出其第二天的日期;
但是现在,输入与输出的日期是一致的。
请问如何能够实现日期后推一天?谢谢解答。