为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

万年历及查询

2018-01-13 15页 doc 32KB 18阅读

用户头像

is_650122

暂无简介

举报
万年历及查询万年历及查询 #include #include #include #include using namespace std; struct CDateTime { public: CDateTime(); void ShowTime()const; void GetNowTime(); void NextTimeByAdd(int n); void PrioTimeBySub(int n); int GetDayByYearAndMon(); bool IsRunYear(int y); i...
万年历及查询
万年历及查询 #include #include #include #include using namespace std; struct CDateTime { public: CDateTime(); void ShowTime()const; void GetNowTime(); void NextTimeByAdd(int n); void PrioTimeBySub(int n); int GetDayByYearAndMon(); bool IsRunYear(int y); int GetDayByYearsubMon(); void printmonth(int m,int y,int week); void printhead(int m,int week); int daysofmonth(int m,int y); int firstday(int m,int y,int week); int Lunaryear(int nyear); void showLunar(int ny); void ShowYearday(int y_month,int y_day); private: int year; int month; int day; int hour; int minute; int second; }; ///////////////////////////////////////////////////// CDateTime::CDateTime() //初始化 { year = 1; month = 1; day = 1; hour = 0; minute = 0; second = 0; } ///////////////////////////////////////////////////// bool CDateTime::IsRunYear(int y) //判断闰年 { if((y % 4 == 0 && y % 100!=0) || (y % 400 == 0)) { return true; } else { return false; } } ////////////////////////////////////////////////////// void CDateTime::GetNowTime() //获取现在的时间 { time_t te; struct tm *p; time(&te); p = localtime(&te); year = p->tm_year + 1900; month = p->tm_mon + 1; day = p->tm_mday; hour = p->tm_hour; minute = p->tm_min; second = p->tm_sec; } ///////////////////////////////////////////////////// void CDateTime::ShowTime()const //打印现在的时间 { cout< mday) { month++; if(month > 12) { year += 1; month = 1; } n -= mday; mday = GetDayByYearAndMon(); } day += n; } ///////////////////////////////////////////////////// int CDateTime::GetDayByYearAndMon()//获取每个月的天数 { int mday[13] = {29,31,28,31,30,31,30,31,31,30,31,30,31}; if(month == 2 && IsRunYear(year)) { month = 0; } return mday[month]; } ///////////////////////////////////////////////////// void CDateTime::PrioTimeBySub(int m)//求n天前的日期 { if (m==day) { month--; day=GetDayByYearsubMon(); } else if(m!=day) { while(m>day) { m=m-day; month--; day = GetDayByYearsubMon(); if(month < 1) { year -= 1; month = 12; } } day -= m; } } ///////////////////////////////////////////////////// int CDateTime::GetDayByYearsubMon()//获取每个月的天数 { int mday[13] = {29,31,28,31,30,31,30,31,31,30,31,30,31}; if(month == 2 && IsRunYear(year)) { return mday[0]; } else if (month<1) { return mday[12]; } else { return mday[month]; } } ///////////////////////////////////////////////////// void CDateTime::printmonth(int m,int y,int week) { //打印日历 int i,days; printhead(m,week); days=daysofmonth(m,y); for(i=1;i<=days;i++) { cout<<"\t"<0) { Days=Days+daysofmonth(y_month,year); y_month--; } Days+=y_day; cout<<"今天是今年的第"<>val; switch (val) { case 1: { CDateTime dt; dt.GetNowTime(); dt.ShowTime(); } break; case 2: { CDateTime dt; dt.GetNowTime(); dt.ShowTime(); int n; cout<<"请输入要加的天数:"<>n; dt.NextTimeByAdd(n); dt.ShowTime(); } break; case 3: { CDateTime dt1; dt1.GetNowTime(); int m; cout<<"请输入要减的天数:"<>m; dt1.PrioTimeBySub(m); dt1.ShowTime(); cout<"<>my_year>>my_month; weekday=dt3.firstday(my_month,my_year,1); cout< "; cin>>nyear; int ny; ny=dt4.Lunaryear(nyear); dt4.showLunar(ny); } break; case 6: { CDateTime dt5; int y_month; int y_day; cout<<"请输入月日:>"; cin>>y_month>>y_day; dt5.ShowYearday(y_month,y_day); } break; case 7: break; default: break; } } }
/
本文档为【万年历及查询】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索