C++实现万年历源代码
本文实例为大家分享了C++实现万年历的具体代码,供大家参考,具体内容如下
#include#include #include #include usingnamespacestd; #include ofstreamfout("日历.txt"); voidPrinttitle(intn); intOrEndl(intn); stringChoose();//选择功能 intCalculate(intmon,intday); voidPrintday(inta); voidFirstDay(intwday); voidSomeYear(intp); voidThisMonth();//打印当月日历的主函数 voidPrintFirstNum(intmon); voidPrintyear(intyear); voidThisYear(intp);//打印当年日历的主函数 voidMonth(intn); voidPrintnum(intq,intmon); intFirstwday[12];//储存每个月1号的星期数 structtm*local; stringch; inta[12]={31,28,31,30,31,30,31,31,30,31,30,31};//储存每月的天数 intmain(void) { longt; 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); intp=sum-(local->tm_wday+1)-(sum/7)*7; do{ flag=Choose(); if(flag=="1")//根据选择的数字确定调用哪个函数 ThisMonth(); elseif(flag=="2") ThisYear(p); elseif(flag=="3") SomeYear(p); elseif(flag=="4") break; else { cout<<"输入错误"< >ch; fout< tm_mon%12; Printtitle(m); intp=local->tm_mday-(local->tm_wday+1)-(local->tm_mday/7)*7; Printnum(p,local->tm_mon); } voidThisYear(intp) { FirstDay(p); Printyear(local->tm_year); for(inta=1;a<12;a=a+2) { Printtitle(a); PrintFirstNum(a); } } voidSomeYear(intp)//打印万年历的主函数 { intm; cout<<"Pleaseenterayearnumber"< 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(inth=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); } } voidPrinttitle(intn)//打印标题 { do{ cout<<""; fout<<""; charstr[12][10]={"January","February","March","April","May","June","July","August","September","October","November","December"}; for(inth=0;h<10;h++) { cout< 6) Firstwday[n+1]=Firstwday[n+1]-7; } } intOrEndl(intn) { if(ch=="1")//如果是打出当月日历就直接跳出循环 { cout< 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。