日期类(获取下一天)

#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();
	}



}
发布了86 篇原创文章 · 获赞 0 · 访问量 3649

猜你喜欢

转载自blog.csdn.net/bijingrui/article/details/104565589