zoukankan      html  css  js  c++  java
  • 日历

      1 #include<stdio.h>
      2 int run(int mouth,int day)
      3 {
      4     int w,i,j,x;
      5     int y[13][32];
      6     for(i=1; i<=12; i++)
      7     {
      8         if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) x=31;
      9         if(i==2) x=29;
     10         if(i==4||i==6||i==9||i==11) x=30;
     11         for(j=1; j<=x; j++)
     12         {
     13             y[i][j]=day;
     14             day++;
     15             if(day==8) day=1;
     16         }
     17     }
     18     for(i=mouth;;)
     19     {
     20         if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) x=31;
     21         if(i==2) x=29;
     22         if(i==4||i==6||i==9||i==11) x=30;
     23         for(j=1; y[i][j]<=x; j++)
     24         {
     25                 if(j==1)
     26                     {
     27                         for(w=1; w<7; w++)
     28                         {
     29                             if(y[i][j]!=w)
     30                             {
     31                                 printf(" 	");
     32                             }
     33                             else
     34                             {
     35                                 printf("1	");
     36                                 break;
     37                             }
     38                         }
     39                         if(y[i][j]==7) printf("1
    ");
     40                         continue;
     41                     }
     42             if(y[i][j]!=7) printf("%d	",j);
     43             else printf("%d
    ",j);
     44             if(j==x) break;
     45         }
     46         break;
     47     }
     48 }
     49 int notrun(int mouth,int day)
     50 {
     51     int run(int mouth,int day);
     52     int notrun(int mouth,int day);
     53     int w,i,j,x;
     54     int y[13][32];
     55     for(i=1; i<=12; i++)
     56     {
     57         if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) x=31;
     58         if(i==2) x=28;
     59         if(i==4||i==6||i==9||i==11) x=30;
     60         for(j=1; j<=x; j++)
     61         {
     62             y[i][j]=day;
     63             day++;
     64             if(day==8) day=1;
     65         }
     66     }
     67     for(i=1; i<=12; i++)
     68     {
     69         if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) x=31;
     70         if(i==2) x=28;
     71         if(i==4||i==6||i==9||i==11) x=30;
     72         for(j=1; y[i][j]<=x; j++)
     73         {
     74             if(j==1)
     75             {
     76                 for(w=1; w<7; w++)
     77                 {
     78                     if(y[i][j]!=w)
     79                     {
     80                         printf(" 	");
     81                     }
     82                     else
     83                     {
     84                         printf("1	");
     85                         break;
     86                     }
     87                 }
     88                 if(y[i][j]==7) printf("1
    ");
     89                 continue;
     90             }
     91             if(y[i][j]!=7) printf("%d	",j);
     92             else printf("%d
    ",j);
     93             if(j==x) break;
     94         }
     95         break;
     96     }
     97     return 0;
     98 }
     99 int main()
    100 {
    101     int year,mouth,i,k,m,n,day;
    102     printf("请输入1900年以后的年份
    ");
    103     scanf("%d",&year);
    104     printf("请输入月份
    ");
    105     scanf("%d",&mouth);
    106     i=year-1900;
    107     m=i/4;
    108     n=i%4;
    109     day=m*1461+n*365;
    110     day=day%7+1;
    111     printf("一	二	三	四	五	六	日
    ");
    112     if(n==0) run(mouth,day);
    113     else notrun(mouth,day);
    114 
    115 
    116     return 0;
    117 }

    这是一个日历查询,代码长的原因就是闰年那里和非闰年那里,因为我把这两个变成了不同的函数。而里面只有一个2月是长度不同的。想改的话。也就在下面加工判断语句。就可以缩短很多。但是我也懒得改。这个也因为暂时才学到这个。所以界面还是那个CMD界面。比较丑。也只可以使用输入的办法来看日历,并不能实现选择。而且只有公历,至于农历,我没有弄懂它是怎么算的,也没有添加,等以后可以写界面的时候我在完善这个功能吧;

  • 相关阅读:
    U-Learning服务端
    C# 向txt文件中写入
    二维码生成 Gma.QrCodeNet (目前测试支持.net4.0及以上,但vs版本2010不可以 NuGet中搜索不到程序包)
    数据显示按规格向datatable中增加空白记录
    sql server 查询出整数 (可灵活运用)
    sql server 列字段拼接 —— STUFF
    layui confirm 嵌套使用 (随笔记)
    sql server 随记 -- 月份/日期 查询
    SQL Server 数据库备份语句
    关于ScriptManager.RegisterStartupScript 摘录
  • 原文地址:https://www.cnblogs.com/Tree-dream/p/5334002.html
Copyright © 2011-2022 走看看