闰年判断
能够被4整除但不能被100 整除, 或者能够被400 整除
if(( year % 4 == 0 && year %100 != 0) || year % 400 ==0))
month[2] = 29;
月份记录
4,6,9,11 month = 30;
2 月 month = 28 or 29
其他 month = 31;
即:month[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
完整代码
定义一个满足输出格式为年/月/日的日期格式,在输入的日期上进行加一天的操作并输出
#include <iostream>
using namespace std;
class Date{
public:void set(int y,int m,int d);add();print();
private:int year;int month;int day;
};
//成员函数
void Date::set(int y,int m,int d){year = y;month = m;day = d;
}
Date::add(){int monthday[] = {0,31,28,31,30,31,30,31,31,30,31,30,31,31};if((year %4 == 0 && year %100 != 0 ) || (year %400 == 0)) monthday[2] = 29;//日期if(day < monthday[month]) day ++;else{day = 1;month += 1;//月份if(month >12 ){year += 1;month = 1;}}
}
Date :: print(){cout<<year<<"/"<<month<<"/"<<day<<endl;
}
int main(){Date d1;int y,m,d;cout<<"请输入年月日:";cin>>y>>m>>d;d1.set(y,m,d);d1.print();cout<<"下一天:";d1.add();d1.print();return 0;
}