C语言程序设计课程设计-万年历(10页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言程序设计课程设计-万年历(10页).doc》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计-万年历(10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C语言程序设计课程设计-万年历-第 10 页课 程 设 计课程名称_C语言程序设计_题目名称 万年历 学生学院 专业班级 学 号 学生姓名 指导教师_ _2011 年 6 月 24 日一、题目及已完成的功能描述课程设计题目:万年历通过万年历程序的设计,培养学生综合利用C语言进行程序设计的能力,要求学生利用系统提供的标准函数及典型算法进行设计,加强函数的运用及学生对软件工程思想的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。基本功能要求:1、输入一个年份,在屏幕上输出该年的年历(包括每月的天数和所对应的星期几),并且在每月的左上角或右上角打印出相应的年份和月份,要求输出界面尽可
2、能整齐、美观,符合年历显示规范。假定输入的年份在1-9999年之间。2、输入年月,输出该月的月历。3、输入年月日,输出距今天还有多少天,是星期几,是否是公历节日。扩充功能要求:4、指定键盘的某些键,用于控制变换不同年、月、日的显示。即:当前若正在显示2011年的年历,按下键盘“”方向键后,年历变为2010年的。5、同时显示农历。已完成的功能:1、输入一个年份,在屏幕上输出该年的1月的月历(包括每月的天数和所对应的星期几),并且在每月的左上角打印出相应的年份和月份,日历下面输出这一年是否为闰年,输出界面尽可能整齐、美观,符合年历显示规范。按下键盘“”方向键后,显示2月的月历;再按下键盘“”方向键
3、后,显示3月的月历如此类推。2、输入年月,输出该月的月历。按下键盘“”方向键后,显示上一个月的月历;按下键盘“”方向键后,显示下一个月的月历;按下键盘“Page Up”方向键后,显示上一年的这个月的月历;按下键盘“Page Down”方向键后,显示下一年的这个月的月历。3、输入年月日,输出距今天还有多少天;如果这一天是公历节日,就输出是什么节日,如果这一天不是公历节,就输出不是公历节;接着输出这一天所在的月的月历,这样自然就看到这一天是星期几了;再在月历右上角输出这一天是(xxxx-xx-xx)。二、使用的所有变量的说明Year(int x)函数里面用了int型,变量有x,leap。用来判断x
4、年是否为闰年;如果是闰年,leap=1;如果不是闰年,leap=0;最后返回leap的值供别的函数用。Wily(int x) 函数里面用了int型,变量有x,输出x年是否为闰年。numofMonth(int y,int m) 函数里面用了int型,变量有y,m,day,t。判断y年m月这个月共有几天,返回day的值即天数供别的函数用。numofYear(int y) 函数里面用了int型,变量有y、t。判断y年这一年共有几天,返回t的值即天数供别的函数用。juli(int y1,int m1,int d1) 函数里面用了int型,变量有y1,m1,d1,i; long型,变量有sum。用于计算
5、某日距离公元1年1月1日多少天,返回sum的值即天数供别的函数用。当两个日期返回的值相减得到的数就是这两日相距的天数。jieri(int m,int d) 函数里面用了int型,变量有m,d。用于判断m月d日是否为公历节日;如果是,就输出相应的节日,如果不是,就输出不是节日。isDay(int y,int m),empty(int n),OutPutCalender(int y,int m,int d),OutPutCalender1(int y,int m,int d),这几个函数是计算日历某天对应的星期,且输出日历的作用。Select_mean() 函数里面用了int型,变量有sm。程序运
6、行后输出的一些帮助,且sm有返回值,供别的函数用。chuxs() 开始时显示函数。Inputyear() 输入年的函数,用了int型,变量有yy,yy有返回值。main() 主函数,用了int 型,变量有year,month,day,y,y0,y2,m,m0,m2,d,d2,a,用来计算,输出日历;long型,变量有sum1,sum2,j,用以计算两天之间相隔几天;int型,变量有inkeySCAN,inkey,用以输入键盘操作信息。三、程序清单及其说明/*本程序是在Win-TC上运行的*/#includestdio.h#includeconio.hint Year(int x) int le
7、ap; leap=(x%4=0&x%100!=0)|(x%400=0)?1:0;/*判断闰年*/ return leap;void Wily(int x)/*输出是否为闰年*/ if(Year(x)=1) printf(%d is,x); else printf(%d is not,x); printf( a leap year.n);int numofMonth(int y,int m)/*一个月有几天*/ int day,t; t=28; if(m=1|m=3|m=5|m=7|m=8|m=10|m=12) day=31; /*定义以上月份为31天*/ else if(m=4|m=6|m=9
8、|m=11) day=30; /*定义以上月份为30天*/ else t+=Year(y); day=t; /*闰年二月29天,平年28天*/ return day;int numofYear(int y)/*一年有几天*/ int t=365; /*平年365天*/ t+=Year(y);/*闰年366天*/ return t;long juli(int y1,int m1,int d1)/*一以1/1/1为基准*/ long sum; int i; sum=0; for(i=1;iy1;i+) sum+=numofYear(i); for(i=1;im1;i+) sum+=numofMon
9、th(y1,i); sum+=d1; return sum;void jieri(int m,int d) /*判断是否为公历节日*/ printf(%02d/%02d,m,d); if(m=1&d=1) printf( is yuan dan jie.n); if(m=3&d=8) printf( is fu nv jie.n); if(m=5&d=1) printf( is lao dong jie.n); if(m=6&d=1) printf( is er tong jie.n); if(m=10&d=1) printf( is guo qing jie.n); if(m=1&d=1)|
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课程设计 万年历 10
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内