所在位置:北大青鸟广州天河培训中心 >> 论坛精华 >>用C语言写了一个万年历

用C语言写了一个万年历

#include <stdio.h>
void getDate(int year,int month);
void main()
{
int year;//年
int month;//月
char reply;//答复
// system("cls"); 用这句话的话后缀名一定为.C,如果是.CPP的话就会暴错的
printf("  /t+-----------------------------------------------+/n");
printf("  /t|/t/t/t/t/t/t|  /n");
printf("  /t|/t/t超级万年历  /t/t/t|/n");
printf("  /t|/t/t/t/t--朱越就造作  /t|/n");
printf("  /t+-----------------------------------------------+/n/n/n");
  do{
        while(1)
        {
          printf("/n请输入年份:");
                  scanf("%d",&year);
                  if(year>0)
          {
                  break;
          }
                  else
          {
                  printf("/n你输入的年份违法,请重新输入!/n");
          }
        }


        while(1)
        {
                        printf("/n请输入月份:");
                        scanf("%d",&month);
                        if(month>0 && month<13 )
                {
                        break;
                }
                        else
                        {
                                printf("/n你输入的年份违法,请重新输入!/n");
                        }
        }
        getDate(year,month);
        printf("你还需要继续吗?<Y  ro N>");
        fflush(stdin);
        scanf("%c",&reply);
        if(reply=='N'||reply=='n')  break; 
  }while(1);
}
void getDate(int year,int month)
{

        int dayOfMonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        int totalDay;//总天数
        int nowDay;//今年所用的天数
        int m=0;
        int j=0;
        int k=0;
        int week;//本月的一号是星期几
        if(year%4==0&&year%100!=0||year%400==0)
        {
        dayOfMonth[2]=29;
        }
        //今年用了多少天
        nowDay=0;
        for(m=0;m<month;m++)
        {
          nowDay=nowDay+dayOfMonth[m];
        }

        //公元一年到现在用了多少天
        totalDay=nowDay+year*365+year/4-year/100+year/400;
        //本月的一号是星期几
        week=totalDay%7;
        //打印日期表
        printf("/n/t%d 年 %d 月/n/n",year,month);
        printf("/t日/t一/t二/t三/t四/t五/t六/n");
        printf("/t---------------------------------------------------/n/n");
        for(j=0;j<week;j++)
        {
              printf("/t");
       
        }
        for(k=1;k<=dayOfMonth[month];k++)
        {
            if(week==7)
            {
                printf("/n");
                week=0;
            }
            printf("/t%d ",k);
            week++;
        }
        printf("/n/n");
        printf("/t---------------------------------------------------/n/n");
}
开班信息
咨询热线:020-85566215
名师讲座

软件世界 梦幻体验

讲座时间:周六、日 14:00
1.软件行业真的那么高深莫测?
2.软件技术真的那么难学?
3.学习软件能做什么工作?
4.软件行业可否托付终身?

 让北大青鸟金牌培训师为你
  逐一打开问号!!

订座热线:020-85566216