欢迎来到天天文库
浏览记录
ID:31707739
大小:66.33 KB
页数:12页
时间:2019-01-17
《c语言编写的万年历程序代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、c语言编写的万年历程序代码ineludesstdio.h>2、;/*从公元零年至U你输入的上一刀共有多少天*/voidprintyear(intyear,int*m,intn);/*输出年口历*/voidprintmonth(intyear,int*m,intyue输出月口历);/**/voidprintrunnian(intyear输出年是润年还是非闰年);/**/voidmain()主函数/**/operatemenu();intmenu(菜单函数)/**/intchose;system(〃cls〃);/*清屏函数*/printf(“**rT);printf(〃08通信2班王韬rT);printf(〃万年3、历系统rT);printf(〃1查看月日历rT);printf(〃2查看年日历rT);printf(〃3退岀rT);printf("IXTX#T^#T%#T^#T%#T^**〃);fflush(stdin).printf(〃请选择〃);i用dowhile实现输错后重新输入{/**/scanf(〃%d〃&chose)・if(chose!二1&&chose!二2&&chose!二3)printf(〃你输入错误请重新输入〃);}wh订e(chose!二1&&chose!二2&&chose!二3);returnchose;}voidoper4、atemenu菜单处理函数()/**/{intn=0,month[13],year,yue,k;/*month[13]用来存每月多少天的其中的month[0]没用设为0*/printf(〃请输入数字,输入-1将不会执行下面的菜单选项,程序将不会被执行,慎重!〃);scanf(“%d〃,&k).wh订e(k!二-1)/*用while循环实现菜单的重复选择n二menu();switch(n){case1:printf(〃查看月日历〃);printf(〃请输入你想查看的年份和月份rT);Each(〃%d%d〃&year,&Yue);Printf(“5、%d,年份:月份:%drT,Year,Yue);Howmanydays(Year,month);Printmonth(Year,month,Yue);Break;Case2:printf(〃查看年日历rT);Printf(〃请输入你想查看的年份〃);Each(〃%d〃&year);Printf(〃年份:%d〃,Year);Howmanydays(Year,month);Printyear(Year,month,12);Break;Case3:printf(〃退出系统rT);Exit(0);Break;}Printf(〃请输入数字输入-1后6、菜单将不会再次被执行,慎重!〃);Each(〃%d〃&K);}}AssessyearINT(intyear判断润年或非润年的函数)/**/IntLeap;If(year%4!二0)Leap二2;Elseif(Year100%!二0)Leap二1;Elseif(Year400%!二0)Leap二2;ElseLeap二1;ReturnLeap;}Howmanydaysvoid(intyear,int*/**/m)每月多少天函数{Inti,N;I二assessyear(Year);For(n<=1;n=7;n=N+2)*(m+N二31);*(m+8)二37、1,*(m+10二31);*(m+12二31);*(m+1)=30;*(m+6)=30;*(m+9)=30;*(m+1)=30;*m二0;If(i二二*(m+1)2二29);Else*(m+2)=28;}YeardaysINT(intyear从公元0年到你输入的上一年共有多少天)/**/{INTy,J,day=0;For(y二1;and8、s(intintintintyear,Yue,从公元零年到你输入的上一月共有多少天*m)/**
2、;/*从公元零年至U你输入的上一刀共有多少天*/voidprintyear(intyear,int*m,intn);/*输出年口历*/voidprintmonth(intyear,int*m,intyue输出月口历);/**/voidprintrunnian(intyear输出年是润年还是非闰年);/**/voidmain()主函数/**/operatemenu();intmenu(菜单函数)/**/intchose;system(〃cls〃);/*清屏函数*/printf(“**rT);printf(〃08通信2班王韬rT);printf(〃万年
3、历系统rT);printf(〃1查看月日历rT);printf(〃2查看年日历rT);printf(〃3退岀rT);printf("IXTX#T^#T%#T^#T%#T^**〃);fflush(stdin).printf(〃请选择〃);i用dowhile实现输错后重新输入{/**/scanf(〃%d〃&chose)・if(chose!二1&&chose!二2&&chose!二3)printf(〃你输入错误请重新输入〃);}wh订e(chose!二1&&chose!二2&&chose!二3);returnchose;}voidoper
4、atemenu菜单处理函数()/**/{intn=0,month[13],year,yue,k;/*month[13]用来存每月多少天的其中的month[0]没用设为0*/printf(〃请输入数字,输入-1将不会执行下面的菜单选项,程序将不会被执行,慎重!〃);scanf(“%d〃,&k).wh订e(k!二-1)/*用while循环实现菜单的重复选择n二menu();switch(n){case1:printf(〃查看月日历〃);printf(〃请输入你想查看的年份和月份rT);Each(〃%d%d〃&year,&Yue);Printf(“
5、%d,年份:月份:%drT,Year,Yue);Howmanydays(Year,month);Printmonth(Year,month,Yue);Break;Case2:printf(〃查看年日历rT);Printf(〃请输入你想查看的年份〃);Each(〃%d〃&year);Printf(〃年份:%d〃,Year);Howmanydays(Year,month);Printyear(Year,month,12);Break;Case3:printf(〃退出系统rT);Exit(0);Break;}Printf(〃请输入数字输入-1后
6、菜单将不会再次被执行,慎重!〃);Each(〃%d〃&K);}}AssessyearINT(intyear判断润年或非润年的函数)/**/IntLeap;If(year%4!二0)Leap二2;Elseif(Year100%!二0)Leap二1;Elseif(Year400%!二0)Leap二2;ElseLeap二1;ReturnLeap;}Howmanydaysvoid(intyear,int*/**/m)每月多少天函数{Inti,N;I二assessyear(Year);For(n<=1;n=7;n=N+2)*(m+N二31);*(m+8)二3
7、1,*(m+10二31);*(m+12二31);*(m+1)=30;*(m+6)=30;*(m+9)=30;*(m+1)=30;*m二0;If(i二二*(m+1)2二29);Else*(m+2)=28;}YeardaysINT(intyear从公元0年到你输入的上一年共有多少天)/**/{INTy,J,day=0;For(y二1;and8、s(intintintintyear,Yue,从公元零年到你输入的上一月共有多少天*m)/**
8、s(intintintintyear,Yue,从公元零年到你输入的上一月共有多少天*m)/**
此文档下载收益归作者所有