C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C语言实现的日历大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是大佬教程code.js-code.com 通过网络收集整理的代码片段。

大佬教程小编现在分享给大家,也给大家做个参

    #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 @R_678_10586@l=1;  
      
      
        printf("请输入年份:");  
        scanf("%d",&m);  
        printf("请输入月份:");  
        scanf("%d",&n);  
        getchar();  
      
        do  
        {  
            system("cls");  
            printf("%d年%d月:\n",n);  
      
            @R_678_10586@l=365*(m-1);  
            for(i=1;i<m;i++)  
                if(Leap(i)==1)  
                    @R_678_10586@l+=1;  
              
            for(i=1;i<n;i++)  
                @R_678_10586@l=@R_678_10586@l+Month(i);  
            day=Month(n);  
            if(Leap(m)==1 && n==2)  
                day++;  
            if(@R_678_10586@l>1)  
                @R_678_10586@l--;  
            if(@R_678_10586@l==0)  
                k=(@R_678_10586@l+1)%7;  
            else  
                k=(@R_678_10586@l+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);  
    }  

大佬总结

以上是大佬教程为你收集整理的C语言实现的日历全部内容,希望文章能够帮你解决C语言实现的日历所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: