日期类(获取下一天)

#include <iostream>
using namespace std;



class Date {
		int year;
		int month;
		int day;

		int days[2][13] = {
			{0,31,28,31,30,31,30,31,31,30,31,30,31},
			{0,31,29,31,30,31,30,31,31,30,31,30,31}
		};

		int all[2] = {365,366};

	public:
		Date() {	};
		Date(int year,int month,int day) {
			this->year = year;
			this->month = month;
			this->day = day;
		}
		int type(int n) {
			if ( (n % 4 == 0 && n % 100 != 0) || n % 400 == 0) {
				return 1;
			}
			return 0;
		}

		void nextDay() {
			day++;
			if (day > days[type(year)][month]) {
				day -= days[type(year)][month];
				month ++;
			}
			if (month >= 13) {
				month = 1;
				year++;
			}

		}


		void show() {
			printf("%04d-%02d-%02d\n",year,month,day);
		}
};


int main() {
	int year,month,day;
	int caseNum;
	cin >> caseNum;
	for (int i = 1; i <= caseNum; i ++) {
		cin >> year >> month >> day;
		Date d(year,month,day);
		d.nextDay();
		d.show();
	}



}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值