C++实现万年历的方法-创新互联

这篇文章给大家分享的是有关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(;ntm_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://ybzwz.com/article/gsohh.html