定义一个日期类 Date,数据成员有年(year)、月(month)、日(day)。成员函数有:(1)私有数据成员函数 bool isLeap()判断year是否是闰年,若是返回1,否则返回0。(2)私有成员函数 bool check()判断日期是否合法,若合法返回1,否则返回0。(3)设置年、月、日值,并检测是否为合法日期,非法的话结束程序。(4)输入日期,并调用(3)定义的函数检测日期是否合法,非法的话重新输入,直到输入日期正确为止。(5) 按yyyy/mm/dd格式输出日期,若是闰年,还要输入是否是闰年的信息。在主函数中定义日期类对象,任意输入年、月、日值,然后对所有成员函数进行测试。
class date
{
private int year;
private int month;
private int day;
public int Year{get;set;}
public int Month{get;set;}
public int Day{get;set;}
private int isleap()
{
if(year%4!=0)
{
return 0;
}
else return 1;
}
private int check()
{
if(month<0||month>12||day>31||day<0||year<0||year>9999)
{
return 0;
}
if( month==2 )
{
if(isleap()==1)
{
if(day>29)
{
return 0;
}
}
else
{
if(day>28)
{
return 0;
}
}
}
if(month==4||month==6||month==9||month==11)
{
if(day>30)
{
return 0;
}
}
return 1;
}
public void setDate(int y,int m,int d)
{
if(month<0||month>12||day>31||day<0||year<0||year>9999)
{
return;
}
else
{
year = y;
month = m;
day = d;
}
}
public string output()
{
string result = year.ToString()+"/"+month.ToString().PadLeft(2,'0')+"/"+day.ToString().PadLeft(2,'0');
if(isleap()==1)
{
result += "该年是闰年。";
}
return result;
}
}
main()
{
date d = new date();
d.setDate(2013,6,3);
Console.WriteLine(d.output());
}