C++/类/日期加一操作

来源:百度知道 编辑:UC知道 时间:2024/06/06 15:57:40
#include<iostream.h>
class date
{
int year,month,day;
public:
bool is_leap_year();
int number_of_days();
void set(int y,int m,int d);
void addday ();
};
//-------------------------------------------------------------------------------------------------
bool date::is_leap_year()
{

return ((year%4==0&&year%100!=0)||year%400==0);

}
//-------------------
int date::number_of_days()
{
int days;
int days_ptr_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(is_leap_year()&&(month==2))
days=29;
else
days=days_ptr_month[month];
return days;
}
void date::set(int y,int m, int d)
{year=y,month=m, day=d;}
void date::addday ()
{if (day>number_of_days()||month>12||month<1||year>9999||day<1)
cout<<"error"<<endl;

else {
if(day!=numbe

改正后的正确程序如下:
#include<iostream.h>
class date
{
int year,month,day;
public:
bool is_leap_year();
int number_of_days();
void set(int y,int m,int d);
void addday ();
};
//-------------------------------------------------------------------------------------------------
bool date::is_leap_year()
{

return ((year%4==0&&year%100!=0)||year%400==0);

}
//-------------------
int date::number_of_days()
{
int days;
int days_ptr_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(is_leap_year()&&(month==2))
days=29;
else
days=days_ptr_month[month];
return days;
}
void date::set(int y,int m, int d)
{
year=y,month=m, day=d;
}
void date::addday()
{
if(day>number_of_days()||month>12||month<1||year>9999||day<1)
cout<<"error"<<endl;
e