加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C语言实现的日历

发布时间:2020-12-16 07:48:02 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #includestdio.h #includestdlib.h #includeconio.h #includestring.h int a[31]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

    #include<stdio.h>  
    #include<stdlib.h>  
    #include<conio.h>  
    #include<string.h>  
    int a[31]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};  
    int main()  
    {  
        int Leap(int );  
        int Month(int );  
        void print(int k,int t,int day);  
        int i,j=0,k,m,n,t=-6;  
        int day;  
      
        int total=1;  
      
      
        printf("请输入年份:");  
        scanf("%d",&m);  
        printf("请输入月份:");  
        scanf("%d",&n);  
        getchar();  
      
        do  
        {  
            system("cls");  
            printf("%d年%d月:n",n);  
      
            total=365*(m-1);  
            for(i=1;i<m;i++)  
                if(Leap(i)==1)  
                    total+=1;  
              
            for(i=1;i<n;i++)  
                total=total+Month(i);  
            day=Month(n);  
            if(Leap(m)==1 && n==2)  
                day++;  
            if(total>1)  
                total--;  
            if(total==0)  
                k=(total+1)%7;  
            else  
                k=(total+2)%7;  
      
            print(k,t,day);  
            printf("请选择:");  
      
            switch(getch())  
            {  
                case '>':  
                    if(n==12)  
                    {  
                        m++;  
                        n=1;  
                    }  
                    else  
                        n++;  
                    break;  
                case '<':  
                    if(n==1)  
                    {  
                        m--;  
                        n=12;  
                    }  
                    else   
                        n--;  
                    break;  
                case '?':  
                    printf("请输入年份:");  
                    scanf("%d",&m);  
                    printf("请输入月份:");  
                    scanf("%d",&n);  
                    break;  
                case '#':  
                        j=1;  
                    break;  
            }  
      
            if(j==1)  
                break;  
            putchar(10);  
        }while(1);  
      
        return 0;  
        }  
      
    int Month(int n)  
    {  
        int day;  
        switch(n)  
        {  
            case 1:  
            case 3:  
            case 5:  
            case 7:  
            case 8:  
            case 10:  
            case 12:  
                    day=31;  
                break;  
            case 2:  
                    day=28;  
                break;  
            case 4:  
            case 6:  
            case 9:  
            case 11:  
                    day=30;  
                break;  
            default:  
                printf("您输入的月份有错,请重新输入!n");  
        }  
        return day;  
    }  
      
    int Leap(int m)  
    {//闰年返回1,否则返回0。  
        int i=0;  
        if(m%4==0 && m%100!=0 || m%400==0)  
            i=1;  
        return i;  
    }  
      
    void print(int k,int day)  
    {  
        FILE *fp;  
        if((fp=fopen("abc.txt","w"))==0)  
        {  
            printf("打开失败n");  
            exit(1);  
        }  
        int i;  
        printf("n日      一      二      三      四     五      六n");  
      
        fprintf(fp,"n日      一      二      三      四     五      六n");  
            printf("-------------------------------------------------------------n");  
            fprintf(fp,"---------------------------------------------------------n");  
            for(i=1;i<=k;i++)  
            {  
                printf("        ");  
                fprintf(fp,"        ");  
            }  
            for(i=0;i<day;i++)  
            {  
                printf("%-8d",a[i]);  
                fprintf(fp,"%-8d",a[i]);  
                if(k==6)  
                {  
                    printf("n");  
                        printf("-------------------------------------------------------------n");  
                    fprintf(fp,"n");  
                        fprintf(fp,"-----------------------------------------------------------n");  
                    t=0;  
                }  
                if(t!=0 && t%7==0)  
                {  
                    printf("n");  
                    fprintf(fp,"n");  
                    printf("-------------------------------------------------------------n");  
                    fprintf(fp,"-----------------------------------------------------------n");  
                }  
                k++;  
                t++;  
            }  
            printf("n--------------------------n");  
            printf("     选  项      n");  
            printf("   >  下一个月    n");  
            printf("   <  上一个月    n");  
            printf("   ? 自定义年月  n");  
            printf("   #  退出        n");  
            printf("--------------------------n");  
            fclose(fp);  
    }  

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读