#include <iostream.h>
class Date{
public:
void Display();
void AddOneDay();
void SetDay(int y=0,int m=0,int d=0);
private:
bool Legal(int y, int m, int d);
bool IsLeapYear(int y);
int year;
int month;
int day;
};
void Date::SetDay(int y,int m,int d)
{
year=y>=0;
month=m>=1&&m<=12?m:0;
day=d>=1&&d<=31?d:0;
}
void Date::Display()
{
cout<<day<<"/"<<month<<year<<endl;
}
bool Date::IsLeapYear(int y)
{
if((y%4==0)&&(y%100!=0)||(y%400==0)&&(y%100==0))
return 0;
}
bool Legal(int y, int m, int d)
{
if((y>0)&&(m>0 && m<=12)&&(d>0 && d<=31))
return 0;
}
void Date::AddOneDay()
{
cout<<"请输入日月年: "<<endl;
cin>>day>>month>>year;
cout<<"请输出日月年: "<<endl;
cout<<day<<"/"<<month<<year<<endl;
if(month==1||month==3||month==5||month==7||month==8||month==10)
{
if(day<31)
{day=day++;
cout<<day<<"/"<<month<<year<<endl;}
else if(day=31)
{day=1;
month=month+1;
cout<<day<<"/"<<month<<year<<endl;}
else
{cout<<"wrong,please try it again!"<<endl;}
}
if(month==4||month==6||month==9||month==11)
{
if(day<30)
{day=day++;
cout<<day<<"/"<<month<<year<<endl;}
else if(day=30)
{day=1;
month=month+1;
cout<<day<<"/"<<month<<year<<endl;}
else
{cout<<"wrong,please try it again!"<<endl;}
}
if(month==2)
{
if(IsLeapYear(year)==0)
{
if(day<29)
{day=day++;
cout<<day<<"/"<<month<<year<<endl;
}
else if(day=29)
{day=1;
month=month+1;
cout<<day<<"/"<<month<<year<<endl;
}
else
{cout<<"wrong,please try it again!"<<endl;}
}
else
{
if(day<28)
{day=day++;
cout<<day<<"/"<<month<<year<<endl;}
else if(day=28)
{day=1;
month=month+1;
cout<<day<<"/"<<month<<year<<endl;}
else
{cout<<"wrong,please try it again!"<<endl;}
}
}
if(month==12)
{
if(day<31)
{day=day++;
cout<<day<<"/"<<month<<year<<endl;}
else if(day=31)
{day=1;
month=1;
year=year+1;
cout<<day<<"/"<<month<<year<<endl;}
else
{cout<<"wrong,please try it again!"<<endl;}
}
}
int main()
{
class Date s;
cout<<"第一次设置日期时间并显示:"<<endl;
s.SetDay();
s.Display();
cout<<"第二次设置日期时间并显示:"<<endl;
s.SetDay(3,11,2007);
s.Display();
s.AddOneDay();
return(0);
}
发表于个人QQ空间( 于2008年10月19日 18:01 )
class Date{
public:
void Display();
void AddOneDay();
void SetDay(int y=0,int m=0,int d=0);
private:
bool Legal(int y, int m, int d);
bool IsLeapYear(int y);
int year;
int month;
int day;
};
void Date::SetDay(int y,int m,int d)
{
year=y>=0;
month=m>=1&&m<=12?m:0;
day=d>=1&&d<=31?d:0;
}
void Date::Display()
{
cout<<day<<"/"<<month<<year<<endl;
}
bool Date::IsLeapYear(int y)
{
if((y%4==0)&&(y%100!=0)||(y%400==0)&&(y%100==0))
return 0;
}
bool Legal(int y, int m, int d)
{
if((y>0)&&(m>0 && m<=12)&&(d>0 && d<=31))
return 0;
}
void Date::AddOneDay()
{
cout<<"请输入日月年: "<<endl;
cin>>day>>month>>year;
cout<<"请输出日月年: "<<endl;
cout<<day<<"/"<<month<<year<<endl;
if(month==1||month==3||month==5||month==7||month==8||month==10)
{
if(day<31)
{day=day++;
cout<<day<<"/"<<month<<year<<endl;}
else if(day=31)
{day=1;
month=month+1;
cout<<day<<"/"<<month<<year<<endl;}
else
{cout<<"wrong,please try it again!"<<endl;}
}
if(month==4||month==6||month==9||month==11)
{
if(day<30)
{day=day++;
cout<<day<<"/"<<month<<year<<endl;}
else if(day=30)
{day=1;
month=month+1;
cout<<day<<"/"<<month<<year<<endl;}
else
{cout<<"wrong,please try it again!"<<endl;}
}
if(month==2)
{
if(IsLeapYear(year)==0)
{
if(day<29)
{day=day++;
cout<<day<<"/"<<month<<year<<endl;
}
else if(day=29)
{day=1;
month=month+1;
cout<<day<<"/"<<month<<year<<endl;
}
else
{cout<<"wrong,please try it again!"<<endl;}
}
else
{
if(day<28)
{day=day++;
cout<<day<<"/"<<month<<year<<endl;}
else if(day=28)
{day=1;
month=month+1;
cout<<day<<"/"<<month<<year<<endl;}
else
{cout<<"wrong,please try it again!"<<endl;}
}
}
if(month==12)
{
if(day<31)
{day=day++;
cout<<day<<"/"<<month<<year<<endl;}
else if(day=31)
{day=1;
month=1;
year=year+1;
cout<<day<<"/"<<month<<year<<endl;}
else
{cout<<"wrong,please try it again!"<<endl;}
}
}
int main()
{
class Date s;
cout<<"第一次设置日期时间并显示:"<<endl;
s.SetDay();
s.Display();
cout<<"第二次设置日期时间并显示:"<<endl;
s.SetDay(3,11,2007);
s.Display();
s.AddOneDay();
return(0);
}
发表于个人QQ空间( 于2008年10月19日 18:01 )