版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
万年历的设计1幕上输出该年的年历(包括每月的天数和所对应的星期2年月,输出该月的月历。:4用于控制变换不同年、月、日的显示。即:当前若正在year表示年份的变量month表示月份的变量day表示日期的变量selecti表示月份的变量j表示一个月中的某一天的变量sum判断某天是一年中的第几天的变量a[]表示每月天数的数组变量year1系统时间年份的变量month1系统时间月份的变量day1系统时间日期的变量#include"time.h" /*#include"stdio.h"#include"math.h"#include"windows.h"#include"conio.h"#define /*#define #define #define #define #define inteachyeartotal(intyear,intmonth,intday); /*intcounterdays(intyear,intmonth,intday);intnowtime(intyear,intmonth,intday);intweek(intyear,intmonth,intday);intmaxDay(intyear,intmonth);intisleap(intyear);voidwhatweek(intyear,intmonth,intday);voiddisplay(intyear,intmonth);voiddisplay2(intyear,intmonth);voiddisplay3(intyear,intmonth,intday);voidsetDay1(intyear,intmonth,intday);voidsetDay2(intyear,intmonth,intday);voidsetDay3(intyear,intmonth,intday);voidjieri(intmonth,intday);voiddisplay1(intyear);voidgetmenu();voidmain()
/*主函数intyear,month,day,select;ile(1)tmenu();printf("请输入相应数字:");
/*菜单选择*/,&select);system("cls");itch(select)case
/*当选择为1时显示年历*/printf(" anf("%d",&year);(year>0&&year<10000)
display1(year);/*调用函数*/printf("提示按↑:上一年
:下一年
他键:返回菜单\n");setDay1(year,month,day);sestem("cls");printf("输入无效,重新输入!\n");eak;case
printf("月历显示:输入年月(如2011,6):");scanf("%d,%d",&year,&month);r<10000&&month>=1&&month<=12)splay2(year,month);printf("提示按←:上个月按→:下个月按其他键:返回菜单\n");setDay2(year,month,day);sestem("cls");printf("输入无效,重新输入!\n");eak;case
printf("日期显示:输入年月日(比如2011,6,23):");anf("%d,%d,%d",&year,&month,&day);f(year>0&&year<10000&&month>=1&&month<=12&&day>=1&&day<=maxDay(ar,month))splay3(year,month,day);printf("提示按PageUp:前一天 按PageDown:后一天按其他键:返回菜单\n\n");setDay3(year,month,day);sestem("cls");printf("输入无效,重新输入!\n");eak;case4:(0);default: /*当输入其他数字时,输入无效,重新输入stem("cls");printf("输入无效,重新输入!\n");intisleap(intyear)
/*判断是否为闰年(year%4==0&&year%100!=0||year%400==0)return1;elsereturn0;intmaxDay(intyear,intmonth)/*每月的天数*/inta[]={31,28,31,30,31,30,31,31,30,31,30,31};
/*每个月中的天数if(isleap(year))1]=29;
returna[month-1];inteachyeartotal(intyear,intmonth,intday)
/*判断某天是一年中的第几天inti,sum=0;for(i=1;i<month;i++)y(year,i);m+=day;returnsum;intweek(intyear,intmonth,intday)
/*对天数进行判断确定是星期几*/intnumber=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400achyeartotal(year,month,day);number=number%7 returnnumber;voiddisplay(intyear,intmonth)
/*输出年月intmax,number,i,j=1;x=maxDay(year,month);mber=week(year,month,1);printf("%4s%4s %4s%4s%4s%4s u","Fri","sat");r(i=0;i<number;i++)printf(" /*1号前的星期补空格*/ile(j<=max)intf("%6d",j);if(i%7==6)");+;+;intf("\n\n");
/*每7格换一行*/voiddisplay1(intyear)intintf("\n");r(i=1;i<=12;i++)printf("%d年%d月\n\n",year,i);splay(year,i);voiddisplay2(intyear,intmonth)printf("\n%d年%d月\n",year,month);splay(year,month);voiddisplay3(intyear,intmonth,intday)whatweek(year,month,day);jieri(month,day);counterdays(year,month,day);
/*输出年历/*输出月历/*输出日历intcounterdays(intyear,intmonth,intday) /*判断今天距特定日期的天数intyear1,days0,days1,month1,days,day1;time_ttimep;structtm*p;me(&timep);gmtime(&timep);year1=(1900+p->tm_year)month1=(1+p->tm_mon)y1=(p->tm_mday);
/*获取系统时间year1、month1、day1分别为年、月、日*/ays0=(year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400+eachyeartotal(year,month,y);ays1=(year1-1)*365+(year1-1)/4-(year1-1)/100+(year1-1)/400+eachyeartotal(year1,nth1,day1);days=days0-days1; /*计算出两个日期之间的时间差printf("\n 今天距%d 年%d 月%d 日还有%d \n",year,month,day,days);returndays;voidwhatweek(intyear,intmonth,intday)
/*判断是星期几intnumber;umber=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+eachyeartotal(year,month,danumber=number%7 switch(number)caseprintf("\n%d年%d月%d日是星期日",year,month,day);break;caseprintf("\n%d年%d月%d日是星期一",year,month,day);break;caseprintf("\n%d年%d月%d日是星期二",year,month,day);break;caseprintf("\n%d年%d月%d日是星期三",year,month,day);break;caseprintf("\n%d年%d月%d日是星期四",year,month,day);break;caseprintf("\n%d年%d月%d日是星期五",year,month,day);break;caseprintf("\n%d年%d月%d日是星期六",year,month,day);break;fault:stem("cls");printf("出现错误!\n");voidjieri(intmonth,intday)(month==1)itch(day)case1:printf(",(month==2)itch(day)caseprintf(",这天是情人节(month==3)itch(day)case8:printf(",eak;caseprintf(",这天是植树节(month==4)itch(day)caseprintf(",这天是愚人节5)switch(day)
/*判断是否公历节日case1:printf(",eak;caseprintf(",这天是青年节");6)switch(day)caseprintf(",这天是儿童节7)switch(day)caseprintf(",这天是建党节(month==8)itch(day)caseprintf(",这天是建军节(month==9)itch(day)caseprintf(",这天是教师节(month==10)itch(day)caseprintf(",这天是国庆节
chark;getch();itch(k)caseKEYNUMUp:
/*“↑”年份减小(year<2)stem("cls");printf("警告!超出范围!\n");eak;ar--;display1(year);ar,month,day);eak;caseKEYNUMDown
/*“↓”年份变大ar++;display1(year);ar,month,day);eak;fault:stem("cls");chark;getch();ch();switch(k)caseKEYNUMLeft: /*“←”月份变小(month<2)nth+=12;ar--;(year<1)stem("cls");printf("警告!超出范围!\n");eak;nth--;display2(year,month);ar,month,day);eak;caseKEYNUMRight:/*“→”月份变小*/(month>11)nth-=12;ar++;if(year<9999);month++;display2(year,month);tDay2(year,month,day);default:cls");voidsetDay3(intyear,intmonth,intday)控制日期的变换chark;getch();ch();switch(k)caseKEYNUMPageUp:(day<2)month--;(year,month);(month<1)
/*“PageUp”日期变小nth+=12;ar--;(year<1)stem("cls");printf("警告!超出范围!\n");eak;y--;display3(year,month,day);setDay3(year,month,day);eak;caseKEYNUMPageDown:
day++;Day(year,month))y=1;nth++;(month>12)nth-=12;ar++;(year<10000);di
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机关单位国有资产核算入账制度
- 2026年无人零售系统合同
- 2025四川川藏医药服务有限公司劳派1名销售内勤排名及人员笔试历年典型考点题库附带答案详解
- 2025四川南充市营山县绥兴交通建设投资有限公司招聘2人笔试历年常考点试题专练附带答案详解
- 2025四川乐山市马边华彝城乡投资建设有限公司第二批招聘企业员工3人笔试历年常考点试题专练附带答案详解2套试卷
- 2025吉林长春上沅投资集团有限公司社会招聘录用人员笔试历年备考题库附带答案详解
- 2025南水北调中线干线工程建设管理局河南分局招26人笔试历年备考题库附带答案详解
- 2025华远国际陆港集团所属企业社会招聘48人(第二批)笔试参考题库附带答案详解
- 2025北汽集团校园招聘345人笔试历年典型考点题库附带答案详解2套试卷
- 2025北京化工集团“优培”笔试笔试历年备考题库附带答案详解
- 煤矿炸药管理办法
- 幼儿园食堂工作人员培训计划表
- 文学常识1000题含答案
- (高清版)DB31∕T 1289-2021 户外广告和招牌设施安全检测要求
- 丁华野教授:上卷:幼年性纤维腺瘤与叶状肿瘤
- 输液导轨施工方案
- 货运行业安全责任意识培训计划
- 《肿瘤治疗相关心血管毒性中医防治指南》
- JC╱T 529-2000 平板玻璃用硅质原料
- 肺结节科普知识宣教
- 钢结构安装合同
评论
0/150
提交评论