今天根据书上题目花了一小时编出了小程序:
#include <iostream.h>
//定义一个日期类CDate,要求满足如下条件:
//①有三个数据成员:year、month、date。
//②有设置日期的成员函数。
//③有使用格式“月/日/年”输出日期的成员函数。
//④有计算当前日期加一天后显示新日期的成员函数。
//⑤使用类的实例测试日期的显示和计算。
class CDate
{
private:
int year;
int month;
int date;
public:
void Date()
{
cout<<"输入年:";
cin>>year;
cout<<"输入月:";
cin>>month;
cout<<"输入日:";
cin>>date;
}
void style()
{
cout<<"用“月/日/年”输出日期:"<<endl;
cout<<month<<"/"<<date<<"/"<<year<<endl;
}
void adddate()
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
if(date==31)
{
cout<<"下一天为:"<<endl;
cout<<month+1<<"/"<<"1"<<"/"<<year<<endl;break;
}
else
{
cout<<"下一天为:"<<endl;
cout<<month<<"/"<<date+1<<"/"<<year<<endl;break;
}
case 12:
if(date==31)
{
cout<<"下一天为:"<<endl;
cout<<"1"<<"/"<<"1"<<"/"<<year+1<<endl;break;
}
else
{
cout<<"下一天为:"<<endl;
cout<<month<<"/"<<date+1<<"/"<<year+1<<endl;break;
}
case 2:
if((year%400==0)||((year%100!=0)&(year%4==0)))
{
if(date==29)
{
cout<<"下一天为:"<<endl;
cout<<month+1<<"/"<<"1"<<"/"<<year<<endl;break;
}
else
{
cout<<"下一天为:"<<endl;
cout<<month<<"/"<<date+1<<"/"<<year<<endl;break;
}
}
else
{
if(date==28)
{
cout<<"下一天为:"<<endl;
cout<<month+1<<"/"<<"1"<<"/"<<year<<endl;break;
}
else
{
cout<<"下一天为:"<<endl;
cout<<month<<"/"<<date+1<<"/"<<year<<endl;break;
}
}
default:
if(date==30)
{
cout<<"下一天为:"<<endl;
cout<<month+1<<"/"<<"1"<<"/"<<year<<endl;break;
}
else
{
cout<<"下一天为:"<<endl;
cout<<month<<"/"<<date+1<<"/"<<year<<endl;break;
}
}
}
void ynrun()
{
if((year%400==0)||((year%100!=0)&(year%4==0)))
cout<<year<<"年为闰年"<<endl;
else
cout<<year<<"年为平年"<<endl;
}
};
void main()
{
CDate cd;
cd.Date();
cd.style();
cd.adddate();
cd.ynrun();
}