zoukankan      html  css  js  c++  java
  • 自己写的一个阳历表

    //日历

    //关键是先找出一年中的第一天是这一年中的晚期几

    #include <stdio.h>
    #include <windows.h>
    bool bMonthFlags = false;/*以月来换页*/

    //判别闰年
    bool IsLeapYear(int iYear)
    {
     return ((iYear%400 == 0) || ((iYear%4 == 0) && (iYear%100 != 0)));
    }

    //一年中的第一天是这一年中的星期几
    int GetYearDay()
    {
     SYSTEMTIME sysTime;
     GetLocalTime(&sysTime);
     int iYear = sysTime.wYear-1;
     int iDay = ((iYear-1)*365+(iYear-1)/4-(iYear-1)/100+(iYear-1)/400+1)%7;
     return iDay;
    }

    int GetYearDay(int iInputYear)
    {
     int iDay = ((iInputYear-1)*365+(iInputYear-1)/4-(iInputYear-1)/100+(iInputYear-1)/400+1)%7;
     return  iDay;
    }


    void Print(const int iMonthDay, const int iDay)
    {
     int iYearDay=0;    /*一年中的星期几*/
     for(int i=1; i<=iDay; ++i)
     {
      int iTemp = (iMonthDay+i+GetYearDay())%7; //key
      if(!bMonthFlags)
      {
       bMonthFlags = true; 
       for(int j=0; j<iTemp; ++j)
       {
        printf("\t");
        ++iYearDay;
       }
      }
      printf("%d\t", i);
      if((iYearDay+1)%7 == 0 )
      {
       printf("\n");

      }
      ++iYearDay;
     
     }
    }

    void Show()
    {
     int iDay;
     int iCount;
     int iTempDay[11]; //临时保存每月的iDay;
     int iSumMonthDay;
     SYSTEMTIME sysTime;
     GetLocalTime(&sysTime);
     iSumMonthDay = 0;
     iCount = 0;
     for(int iMonth=1; iMonth<13; ++iMonth)
     {
      printf("\t\t\t%d年第%d月\n", sysTime.wYear, iMonth);
      printf("日\t一\t二\t三\t四\t五\t六\n");
      switch(iMonth)
      {
       case 1:
       case 3:
       case 5:
       case 7:
       case 8:
       case 10:
       case 12:
        iDay=31;break;
       case 4:
       case 6:
       case 9:
       case 11:
        iDay=30;break;
       case 2:
        {
         if(IsLeapYear(sysTime.wYear))
          iDay=28;
         else
          iDay=29;
        }
        break;
       default:
        break;
      }
      iTempDay[iMonth-1] = iDay;
      if(iMonth>1)
       iSumMonthDay += iTempDay[iCount++];

      Print(iSumMonthDay, iDay);

      printf("\n\n");
      system("pause");
      bMonthFlags = false;
     }
    }

    int main(int argc, char* argv[])
    {
     Show();
     return 0;
    }

  • 相关阅读:
    robots.txt
    procdump和mimikatz工具配合破解windows账户口令
    通过vbs脚本控制方向盘按键
    批处理删除文件或文件夹代码
    彩色线条雨特效html代码
    secureCRT
    chrome 更新flash插件
    python命令行下安装redis客户端
    FastJson使用
    Redis 学习(二)
  • 原文地址:https://www.cnblogs.com/ccmfc/p/1744414.html
Copyright © 2011-2022 走看看