![]() |
#2
sunkaidong2008-03-14 12:05
要养成好的习惯..
#include <iostream.h> class Date { public: Date(); Date(int y,int m,int d); void setDate(int,int,int); int getYear(); int getMonth(); int getDay(); private: int year; int month; int day; }; void Date::setDate(int y,int m,int d) { year=(y>=0&&y<=12)?y:0 ; month=(m>=0&&m<=12)?m:0 ; switch(m) { case '1': case '3': case '5': case '7': case '8': case '10': case '12': day=(d>=0&&d<=31)?d:0; break; case '4': case '6': case '9': case '11': day=(d>=0&&d<=30)?d:0 ; break; default: if(((y%4==0)&&(y%100!=0))||(y%400==0) ) day=(d>=0&&d<=29)?d:0 ; else day=(d>=0&&d<=28)?d:0 ; break; } }; Date::Date(){ year=month=day=0; }; int Date::getYear() { return year; } int Date::getMonth() { return month; } int Date::getDay() { return day; } void main() { Date d; cout<<"原始时间是(年-月-日的方式输出):"<<d.getYear()<<"-"<<d.getMonth()<<"-"<<d.getDay()<<endl; d.setDate(1,5,31); cout<<"合法修正后的时间输出是:"<<d.getYear()<<"-"<<d.getMonth()<<"-"<<d.getDay()<<endl; } |
//Date.h
class Date
{
public:
void setDate(int,int,int);
Date(int y,int m,int d);
Date::Date()
{
year=month=day=0;
}
int getYear();
int getMonth();
int getDay();
private:
int year;
int month;
int day;
};
//成员函数
void Date::setDate(int y,int m,int d)
{
year=(y>=0&&y<=12)?y:0 ;
month=(m>=0&&m<=12)?m:0 ;
switch(m) ///某个月的天数的具体分析
{
case '1':;
case '3':;
case '5':;
case '7':;
case '8':;
case '10':;
case '12':; day=(d>=0&&d<=31)?d:0; break;
case '4':;
case '6':;
case '9':;
case '11':; day=(d>=0&&d<=30)?d:0 ; break;
default: if( ( (y%4==0)&&(y%100!=0) )||(y%400==0) ) //判断瑞年2月的天数是否合法
day=(d>=0&&d<=29)?d:0 ;
else day=(d>=0&&d<=28)?d:0 ;
break;
}
//日期值的输出函数
int Date::getYear()
{
return year;
}
int Date::getMonth()
{
return month;
}
int Date::getDay()
{
return day;
}
//测试函数
#include <iostream.h>
#include "Date.h"
void main()
{
Date d;
cout<<"原始时间是(年-月-日的方式输出):"<<d.getYear()<<"-"<<d.getMonth()<<"-"<<d.getDay()<<endl;
d.setDate(1,5,31);
cout<<"合法修正后的时间输出是:"<<d.getYear()<<"-"<<d.getMonth()<<"-"<<d.getDay()<<endl;
}