C语言课程设计-日历显示_第1页
C语言课程设计-日历显示_第2页
C语言课程设计-日历显示_第3页
C语言课程设计-日历显示_第4页
C语言课程设计-日历显示_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include#include#includechar*month=Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nev,Dec;char*week=Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday;intj_leapyear(intyear)/定义函数检测输入年份是否为闰年if(/*year%400=0*/year%4=0&year%100!=0)|(year%400=0)return(1);/elseif(year%4=0&year%100!=0)/return(1);elsereturn0

2、;intmonth_day(intyear,intmonth)/检测该年月份有多少天intmon_day=31,28,31,30,31,30,31,31,30,31,30,31;if(j_leapyear(year)&month=2)return29;elsereturn(mon_daymonth-1);intj_week(intyear,intmonth,intday)/检测该天是星期几intd=0,i;/d表示该天在该年份的累计天数intw;/*intmonth_day=31,28,31,30,31,30,31,31,30,31,30,31;if(j_leapyear(year)=1)mo

3、nth_day1=29;for(i=0;imonth;i+)d+=month_dayi;d=d+day;*/for(i=1;imonth;i+)d+=month_day(year,i);d+=day;w=(year-1)+(int)(year-1)/Hint)(year-1)/100+(int)(year-1)/400+d;/网上公式return(int)w%7);intallyear(intyear)/输出全年日历inti,j,b;printf(n%d日历,year);for(i=1;i=12;i+)printf(nnt%sn,monthi-1);/printf(7123456n);prin

4、tf(SMTWTFSn);b=j_week(year,i,1);for(j=1;j=month_day(year,i)+b;j+)if(j=b)printf();elseif(j-b10)printf(%2d,j-b);elseprintf(%2d,j-b);/elseprintf(%2d,j-b);if(j%7=0)putchar(n);putchar(n);return0;voidmonth_print(intyear,intmonth)/输入一个年月,输出这个月的日历inti,c,d;c=month_day(year,month);printf(nn%d年d月日历力080位川;print

5、f(SMTWTFSn);d=j_week(year,month,1);for(i=1;i=c+d;i+)if(i=x?year:x;b=yearb)for(i=b+1;ia;i+)c+=j_leapyear(i);elsec=0;if(year!=x)d=a-b-1;elsed=0;m=365*d+c;if(yearx)for(i=month;ix)for(i=y;i=12;i+)n+=month_day(x,i);for(i=1;i=y?y:month;i=y?month:y);i+)n+=month_day(x,i);days=abs(day-z)+n;输出距离y月z日有多少天printf

6、(这天离d年d月d号有d天n,x,y,z,days);t=j_week(year,month,day);if(t=0)/输出星期几printf(这天星期日);elseif(t=1)printf(这天星期一);elseif(t=2)printf(这天星期二);elseif(t=3)printf(这天星期三);elseif(t=4)printf(这天星期四)elseif(t=5)printf(这天星期五)elseif(t=6)printf(这天星期六);putchar(n);if(month=1&day=1)printf(这天是元旦节);elseif(month=2&day=14)printf(这

7、天是情人节);elseif(month=3&day=8)printf(这天是妇女节);elseif(month=3&day=12)printf(这天是植树节);elseif(month=4&day=1)printf(“这天是愚人节)elseif(month=4&day=4)printf(“这天是清明节)elseif(month=5&day=1)printf(这天是劳动节);elseif(month=6&day=1)printf(这天是儿童节)elseif(month=8&day=1)printf(“这天是建军节)elseif(month=9&day=10)printf(“这天是教师节)else

8、if(month=10&day=1)printf(这天是国庆节);elseif(month=12&day=25)printf(这天是圣诞节);elseprintf(这天不是特殊节日);putchar(n);returndays;voidfish_or_net(intyear,intmonth,intday)/判断是打鱼还是晒网intq;inti,a,b,c=0,d=0,days=0,m=0,n=0;a=year=1990?year:1990;b=yearb)for(i=b+1;ia;i+)c+=j_leapyear(i);elsec=0;if(year!=1990)d=a-b-1;elsed=

9、0;m=365*d+c;if(year1990)for(i=month;i1990)for(i=1;i=12;i+)n+=month_day(1990,i);for(i=1;i=1?1:month;i=1?month:1);i+)n+=month_day(1990,i);days=abs(day-1)+n;/先确定这天离1990年1月1日有多少天/判断打鱼还是晒网q=days%5+1;if(q=1|q=2|q=3)printf(渔人今天打鱼);elseprintf(渔人今天晒网);putchar(n);/*intmain()/这部分内容用来校检intj_leapyear(intyear);in

10、tmonth_day(intyear,intmonth);intj_week(intyear,intmonth,intday);intallyear(intyear);voidmonth_print(intyear,intmonth);intjisuan_day(intyear,intmonth,intday,intx,inty,intz);voidfish_or_net(intyear,intmonth,intday);intx,y,z,year,month,day;/allyear(2015);/month_print(2016,12);printf(请输入今天的日期(按年,月,日输入,如

11、2016,1,14表示2016年1月14日):);scanf(%d,%d,%d,&x,&y,&z);printf(n请随便输入一个日期,格式同上:”);scanf(%d,%d,%d,&year,&month,&day);jisuan_day(year,month,day,x,y,z);/fish_or_net(x,y,z);return0;/这部分内容是用来检测上述函数是否出错的*/intmain()intj_leapyear(intyear);intmonth_day(intyear,intmonth);intj_week(intyear,intmonth,intday);intallyea

12、r(intyear);voidmonth_print(intyear,intmonth);intjisuan_day(intyear,intmonth,intday,intx,inty,intz);voidfish_or_net(intyear,intmonth,intday);/函数声明intoption,year,month,day,x,y,z;charny;system(color1f);while(1)printf(nnt欢迎来到由#编写的程序nn);printf(请选择您需要的服务,输入编号回车结束n);printf(1.输入一个年份,输出该年的日历炉);printf(2.输入年月,

13、输出这个月的日历。n);printf(3.输入年月日,输出据今天还有多久,星期几,是否是公历节日。n);printf(4.某人自1990年1月1日开始打鱼,“三天打鱼,两天晒网”,输入一个1990年以后的日期,输出他这一天是打鱼还是晒网。n);printf(5.退出n);scanf(%d,&option);switch(option)/switch分支结构/while循环,后面的1是常数,表while(1)示一直到break才结束循环printf(请输入一个年份:);scanf(%d,&year);allyear(year);printf(你想继续查询日历么?(y表示继续,n表示结束);sca

14、nf(%c,&ny);if(ny=n)break;break;while(1)printf(输入年月:);scanf(%d,%d,&year,&month);month_print(year,month);printf(你想继续查询日历么?(y表示继续,n表示结束):);scanf(%c,&ny);if(ny=n)break;break;while(1)printf(输入年月日:);scanf(%d,%d,%d,&year,&month,&day);printf(请输入今天的日期:”);scanf(%d,%d,%d,&x,&y,&z);jisuan_day(year,month,day,x,y,z);printf(你想继续查询么?(y表示继续,n表示结束):);scanf(%c,&ny);if(ny=n)break;break;while(1)printf(输入1990年1月1日以后的一个日期:”);scanf(%d,%d,%d,&year,&month,&day);fish_or_n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论