定义一个Data类,定义Newday函数来实现增加一天的操作。
考点:在于分清是否为闰年,不同月份的天数。相对简单。
#include<iostream>
using namespace std;
class Data{
private:
int y,m,d;//年,月,日
public:
Data(){//自定义默认函数
}
Data(Data &D){//拷贝函数
;
}
Data(int y=0,int m=0,int d=0){//带参数构造函数
this->y=y;
this->m=m;
this->d=d;
}
bool Isrun(){//判断是否闰年为
if(y%400)//被400整除是闰年
return true;
else if(y%4&&y%100!=0)//被4整除而不被100整除也是闰年
return true;
else
return false;//其余正常
}
void Newday(){//增加一天
if(m==1||m==3||m==5||m==7||m==8||m==10){//大月31日
if(d==31){
m++;
d=1;
}
else
d++;
}
else if(m==2){//2月 闰年29,平年28
if(Isrun()){
if(d==29){
m++;
d=1;
}
else
d++;
}
else{
if(d==28){
m++;
d=1;
}
else
d++;
}
}
else{//其余月份30日
if(d==30){
m++;
d=1;
}
else
d++;
}
cout<<y<<"."<<m<<"."<<d<<endl; //加一天之后直接输出,也可以返回Data对象,在调用Show函数
}
void Show(){//显示日期
cout<<y<<"."<<m<<"."<<d<<endl;
}
};
int main(){
Data D1(2021,11,12);//定义日期
D1.Show();
cout<<"一天后为:" ;
D1.Newday();
return 0;
}