这篇文章给大家分享的是有关C++实现万年历的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都网站设计、成都做网站服务,我们努力开拓更好的视野,通过不懈的努力,创新互联建站赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,微信小程序,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。具体内容如下
#include#include #include #include using namespace std; #include ofstream fout("日历.txt"); void Printtitle(int n); int OrEndl(int n); string Choose(); //选择功能 int Calculate(int mon,int day); void Printday(int a); void FirstDay(int wday); void SomeYear(int p); void ThisMonth(); //打印当月日历的主函数 void PrintFirstNum(int mon); void Printyear(int year); void ThisYear(int p); //打印当年日历的主函数 void Month(int n); void Printnum(int q,int mon); int Firstwday[12]; //储存每个月1号的星期数 struct tm *local; string ch; int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; //储存每月的天数 int main(void) { long t; time(&t); local=localtime(&t); local->tm_year=local->tm_year+1900; local->tm_mon++; cout<<"今天是:"< tm_year<<"年"< tm_mon <<"月"< tm_mday<<"日,"; fout<<"今天是:"< tm_year<<"年"< tm_mon <<"月"< tm_mday<<"日,"; Month(local->tm_wday); cout< tm_hour<<"时"< tm_min<<"分"< tm_sec <<"秒"< tm_wday< tm_hour<<"时"< tm_min<<"分"< tm_sec <<"秒"< tm_wday< tm_year%4==0)&&(local->tm_year%100!=0))||(local->tm_year%400==0)) a[1]=29; sum=Calculate(local->tm_mon,local->tm_mday); int p=sum-(local->tm_wday+1)-(sum/7)*7; do{ flag=Choose(); if(flag=="1") //根据选择的数字确定调用哪个函数 ThisMonth(); else if(flag=="2") ThisYear(p); else if(flag=="3") SomeYear(p); else if(flag=="4") break; else { cout<<"输入错误"< >ch; fout< tm_mon%12; Printtitle(m); int p=local->tm_mday-(local->tm_wday+1)-(local->tm_mday/7)*7; Printnum(p,local->tm_mon); } void ThisYear(int p) { FirstDay(p); Printyear(local->tm_year); for(int a=1;a<12;a=a+2) { Printtitle(a); PrintFirstNum(a); } } void SomeYear(int p) //打印万年历的主函数 { int m; cout<<"Please enter a year number"< tm_year) //计算所输年份的1月1日星期几 { for(;n tm_year;n++) { if(((n%4==0)&&(n%100!=0))||(n%400==0)) p=p+2; else p++; if(p>=7) p=p-7; } } else { for(;n>local->tm_year;n--) { if(((n%4==0)&&(n%100!=0))||(n%400==0)) p=p-2; else p--; if(p<0) p=p+7; } } FirstDay(p); for(int h=1;h<12;h=h+2) { Printtitle(h); if(((m%4==0)&&(m%100!=0))||(m%400==0)) a[1]=29; else a[1]=28; PrintFirstNum(h); } } void Printtitle(int n) //打印标题 { do{ cout<<" "; fout<<" "; char str[12][10]={"January","February","March","April","May","June","July","August","September","October","November","December"}; for(int h=0;h<10;h++) { cout< 6) Firstwday[n+1]=Firstwday[n+1]-7; } } int OrEndl(int n) { if(ch=="1") //如果是打出当月日历就直接跳出循环 { cout< 感谢各位的阅读!关于“C++实现万年历的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:C++实现万年历的方法-创新互联
分享网址:http://cdkjz.cn/article/gsohh.html