预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

word格式-可编辑-感谢下载支持 C语言课程设计 一、题目及功能描述 题目:万年历的设计 利用C语言设计出万年历,使其实现如下要求 1、输入一个年份,在屏幕上输出该年的年历(包括每月的天数和所对应的星期几),并且在 每月的左上角或右上角打印出相应的年份和月份,要求输出界面尽可能整齐、美观,符合年 历显示规范。假定输入的年份在1-9999年之间。 2、输入年月,输出该月的月历。 3、输入年月日,输出距今天还有多少天,是星期几,是否是公历节日。: 4、指定键盘的某些键,用于控制变换不同年、月、日的显示。即:当前若正在显示2011 年的年历,按下键盘“←”方向键后,年历变为2010年的。 二、使用的所有变量的说明 变量说明:(以下均为整型变量) year表示年份的变量 month表示月份的变量 day表示日期的变量 select表示菜单选择的变量 i表示月份的变量 j表示一个月中的某一天的变量 sum判断某天是一年中的第几天的变量 number判断某天离公元1年1月1日还有几天的变量 a[]表示每月天数的数组变量 year1系统时间年份的变量 month1系统时间月份的变量 day1系统时间日期的变量 三、程序清单及其说明 /*包含的头文件*/ #defineKEYNUMUp0x48/*宏定义*/ #defineKEYNUMDown0x50 #defineKEYNUMLeft0x4b #defineKEYNUMRight0x4d #defineKEYNUMPageUp0x49 #defineKEYNUMPageDown0x51 word格式-可编辑-感谢下载支持 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; while(1) { getmenu(); 请输入相应数字/*菜单选择*/ switch(select) { case1:/*当选择为1时显示年历*/ 年历显示:输入年(如2011) if(year>0&&year<10000)/*显示年份从0-10000*/ { display1(year);/*调用函数*/ 提示按↑:上一年按↓:下一年按其他键:返回菜单 setDay1(year,month,day); } else 输入无效,重新输入 break; case2:/*当选择为2显示月历*/ 月历显示:输入年月(如2011,6) word格式-可编辑-感谢下载支持 if(year>0&&year<10000&&month>=1&&month<=12) { display2(year,month); 提示按←:上个月按→:下个月按其他键:返回菜单 setDay2(year,month,day); } else 输入无效,重新输入 break; case3:/*当选择为3时显示日期*/ 日期显示:输入年月日(比如 if(year>0&&year<10000&&month>=1&&month<=12&&day>=1&&day<=maxDay(year,month) ) { display3(year,month,day); 提示按PageUp:前一天按PageDown:后一天按其他键:返回 菜单 setDay3(year,month,day); } else 输入无效,重新输入 break; case4: exit(0); default:/*当输入其他数字时,输入无效,重新输入*