//******************************** //*******Class:Date*************** //*******2011.10.17*************** //*******By Tea_Duan************** //******************************** #include <iostream.h> #include <stdlib.h> //Global variable int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//days of month char *Week[7]={"Sunday","Monday","Tuesday","Wednesday","Thurday","Friday","Saturday"}; //Week class Date{//class defination public: void SetDate(int,int,int);// initialization int IsLeapyear(int ); //Leap year or not int Week_day(int); //Week_day void Show(); //days number private: int year,month,day; }; void Date::SetDate(int y,int m,int d) { year=y; month=m; day=d; if(year<=0||month<=0||day<=0||month>12||day>days[month]) //Date validity check { cout<<"The Date is invalid!"<<endl; exit(0); } } int Date::IsLeapyear(int y) { return y%4==0&&y%100!=0||y%400==0; } int Date::Week_day(int flag) //flag 0:week 1:day_num; { long sum=0; int i; if(flag==0) i=1; else i=year; for(;i<year;i++) { if(IsLeapyear(i)) sum+=366; else sum+=365; } for(int j=1;j<month;j++) sum+=days[j]; if(month>2 && IsLeapyear(year)) sum++; sum+=day; if(flag==0) return sum%7; return sum; }; void Date::Show() { cout<<"The Date is:"<<year<<"-"<<month<<"-"<<day<<endl; cout<<"It's "<<*(Week+Week_day(0))<<endl; cout<<"It's "<<Week_day(1)<<" days of this year!"<<endl; } void main() { Date D; int y,m,d; cout<<"Please input the Date:"<<endl; cin>>y>>m>>d; D.SetDate(y,m,d); D.Show(); }
第一次实验参考代码
最新推荐文章于 2015-04-12 08:42:00 发布