c语言实现万年历(大一大作业)(可查农历,节假日,周几,切换年月显示)(昨天交作业,今天上传(狗头))(萌新,如有问题,请多谅解)(使用dev c++) 您所在的位置:网站首页 节日日历制作 c语言实现万年历(大一大作业)(可查农历,节假日,周几,切换年月显示)(昨天交作业,今天上传(狗头))(萌新,如有问题,请多谅解)(使用dev c++)

c语言实现万年历(大一大作业)(可查农历,节假日,周几,切换年月显示)(昨天交作业,今天上传(狗头))(萌新,如有问题,请多谅解)(使用dev c++)

2023-09-22 06:02| 来源: 网络整理| 查看: 265

这篇文章本意只是为了大家的万年历的实现方式提供一种思路,代码本身并不成熟,需要源代码的同学,本人已经上传到网站上了,设置的免费下载,csdn本身设置的免费下载需要做任务,但是绝对是可以下载的,请不要私信问作者资源需要付费下载的问题。并且文件在dev-c++环境下是可以运行的。如果你不会解压当我没说。字体重叠是因为没有全屏,或者屏幕缩放率不为100%造成的,请自行百度修改。

重新上传了资源,正在审核,为了方便大家 ,评论区也添加了百度云盘链接

一、先看效果图 1.年度显示

2.月度显示

3.查询日

二、思路及代码实现

       做这个程序我个人的思路是“查询日→→→查询月→→→查询年”这样的流程。因为我作业老师要求英文注释,我发到CSDN里面改成了中文,所以代码里面可能会有没删干净的英文注释。

1.查询周几

       查询日需要做的就是可以计算出需要查询的日期是周几,以及农历日期,和节假日。我个人认为农历日期的查询是最难做的,因为它的算法乱七八糟的,我这里用了一种比较取巧的方式。

             先说查询周几吧,这个应该都会,我就比较粗糙说一下。

a.确定基准。

我们以2000年1月1日作为基准,这一天是周六,冬月廿五,元旦。如果你想查之前的日子,那么你就把基准往前定。

b.计算要查的日期与基准所差的天数

这个部分的核心比较简单,只需要会判断中间每个年份是不是闰年,最后一年每个月都有几天,然后加起来就可以了。

//判断闰年 int leapyear (int y){ int i=0; if(y%100==0){ //年份在可以被100整除的情况下必须被400整除才算闰年 if(y%400==0){ i=1; } } else { if (y%4==0){ i=1; } } return i; //如果是闰年就返回1 平年就返回0 } int week (int y,int m,int d){ //y年 m月 d天 int i,j,w,sum1,sum2; //w 周几 int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; sum1=0; sum2=0; w=6; //基准那天是周六 if(leapyear(y)==1){ a[2]=29; //如果是闰年那么2月就有29天 } for(i=1;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有