#include<iostream>usingnamespace std;//看输入的日子是这一年的第几天staticint days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};classDate{public:// 获取某年某月的天数intGetMonthDay(int year,int month){
days[2]=28;//如果之前有一次输入闰年把2月改成29,下次输入判断前先把2月变回28再说int day = days[month];//闰年2月29天if(month ==2&&((year %4==0&& year %100!=0)||(year %400==0))){
day +=1;
days[month]=29;}return day;}// 全缺省的构造函数Date(int year =1900,int month =1,int day =1){if(year >0&& month >0&& month <13&& day >0&&
day <=GetMonthDay(year, month)){
_year = year;
_month = month;
_day = day;}else{
cout <<"日期不合法"<< year <<"-"<< month <<"-"<< day << endl;}}intfunc(){int sum =0;if(_month >1){for(int i =0; i < _month; i++){
sum += days[i];}
sum = sum + _day;}else{
sum = _day;}return sum;}private:int _year;int _month;int _day;};intmain(){int a, b, c;while(cin >> a >> b >> c){
Date d(a, b, c);//打印出这一年2月的天数
cout << d.GetMonthDay(a,2)<< endl;//打印这一日期是这一年第多少天
cout << d.func()<< endl;}return0;}