TDate类

来源:互联网 发布:ben carson 知乎 编辑:程序博客网 时间:2024/06/11 17:53
#include<iostream>using namespace std;int yearyn(int y);class TDate{private:int year,month,day;public:TDate(int,int,int);void setDate(int,int,int);void addOneDay();void print() const;};TDate::TDate(int a,int b,int c){setDate(a,b,c);}void TDate::setDate(int y,int m,int d){year=y;month=m;day=d;}void TDate::addOneDay(){day++;if((month==1||month==3||month==5||month==7||month==8||month==10|month==12)&&day==32){month++;day=1;}else if((month==4||month==9||month==11)&&day==31){month++;day=1;}else if(yearyn(year)==1&&month==2&&day==30){month++;day=1;}else if(yearyn(year)==0&&month==2&&day==29){month++;day=1;}if(month==13) {year++;month=1;}}int yearyn(int y) {if(y%400==0||(y%100!=0&&y%4==0))return 1;else return 0;}void TDate::print() const{cout<<year<<"-"<<month<<"-"<<day;}int main(){int y,m,d;cout<<"请按年月日的顺序输入日期:";as:cin>>y>>m>>d;if((y<0)||(m<0||m>12)||(d<0||d>31)||(yearyn(y)==0&&m==2&&d>28)){cout<<"输入的时间有错,请重新输入:";goto as;}TDate time(y,m,d);time.print();cout<<endl<<"加一天之后:"<<endl;time.addOneDay();time.print();system("pause");return 0;}



原创粉丝点击