C语言程序设计课程设计万年历查询

上传人:共*** 文档编号:136708159 上传时间:2020-07-01 格式:DOC 页数:16 大小:250.50KB
返回 下载 相关 举报
C语言程序设计课程设计万年历查询_第1页
第1页 / 共16页
C语言程序设计课程设计万年历查询_第2页
第2页 / 共16页
C语言程序设计课程设计万年历查询_第3页
第3页 / 共16页
C语言程序设计课程设计万年历查询_第4页
第4页 / 共16页
C语言程序设计课程设计万年历查询_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《C语言程序设计课程设计万年历查询》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计万年历查询(16页珍藏版)》请在金锄头文库上搜索。

1、C语言课程设计 成绩: 课 程 设 计 报 告 书所属课程名称车 C语言程序设计课程设计 题 目 万年历查询 分 院 电信分院 专业班级 电气工程及其自动化班 学号 学生姓名 指导教师 2014年 X月X日摘 要通过C语言编程实现了一个万年历,能实现基本的万年历功能。通过本章的讲解,使读者能够明白万年历的实现原理和方法。万年历的实现核心是要判断闰年和根据给定的日期计算其对应的星期,并按照合适的方式输出日历.这都是本章向读者讲述的重点。另外,在当今社会万年历在生活起着越来越重要的角色,它悄无声息的走进我们的生活,还向读者讲述了怎样突出显示某个日期的方法,这会在实际应用中经常遇到。除了讲述万年历的

2、实现方法外,本章还回顾了前面章节的知识,如光标定位设置寄存器产生中断输出一个字符等,以及讲述系统日期屏幕输出的方法等。 关键字:C语言,函数,历法计算,万年历,中断。目录1. 设计万年历目的- P42.万年历程序设计思路图解及其讲解-P53.万年历程序清单与编码-P74.万年历的调试与分析-P125.万年历的使用环境与说明-P146. 设计心得-P157.万年历参考文献-P168.致谢-P171. 设计万年历的目的万年历慢慢的走进我们的生活,在我们生活中起着很重要的部分。虽然万年历几乎在每个电子产品中都能看到,我们时时刻刻都在用着它,但是又有多少人知道万年历真正的工作原理呢?所以一是了解万年历

3、真正的原理,二是完成学校给予我们这里机会来与她亲密的接触万年历这个神奇的东西。同时通过显示年日历程序的设计,可以培养和利用C+语言进行程序设计的能力,加强函数的运用及对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养利用系统提供的标准函数及典型算法进行设计。出于兴趣爱好,我们选择做万年历这个任务,一是可以锻炼我们独立完成任务的本领,提高自己的认知能力。二是可以提高自己逻辑思维的严密性,因为C语言本就是一门对逻辑考察很强的一门学科,多一个逗号都不能使函数成立,平台就无法便以这个程序。 2.万年历程序设计思路图解 1.万年历总程序大体图解 在本次的程序中,我们由浅及

4、深,我们将年份赋值给y,判断y的值是否符合要求,y的值要大于1,否则结束程序。等y的值大于1时,我们将打印出输入年份的日历。2. 万年历分步程序图解 判断输入的年份是否为闰年闰年与平年的元旦的计算输入表头判断每月的天数判断每月的第一天填设置三个月打印成一排计算日期输出此为程序的的分步骤,因为有这些分步骤的模切配合,总程序才能得以顺利的进行。在这里我们运用了判断年份是否为闰年的重要公式:(a%400=0|a%100!=0&a%4=0),与闰年平年和闰年一年第一天元旦的计算!3. 万年历程序清单1.源程序:#includeint fdyear(int a) if (a%400=0|a%100!=0

5、&a%4=0) /判断是不是闰年 return (a-1+a/4-a/100+a/400)%7; /闰年元旦计算 else return (a+a/4-a/100+a/400)%7; /平年元旦计算int main() int n,i,y,fdmonth12; printf(*欢迎使用周利凯设计万年历*n); printf( 本程序来至电气1班周利凯,请愉快使用!n); printf(请输入年份:); scanf(%d, &y); if (y1) printf(输入的是错误年份。n); else n=(y%400=0|y%100!=0&y%4=0); char *month12=Jan,Feb

6、,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec; char week= 日 一 二 三 四 五 六 ; int daysmonth12=31,28+n,31,30,31,30,31,31,30,31,30,31; /输入年份每个月的总天数 printf( %d年的日历nn, y); for(i=0;i12;i+) /计算个月每个月的第一天 static int day=0; fdmonthi=(day+fdyear(y)%7; day=day+daysmonthi; for(i=0;i12;i+=3) /每三个月并排打印 printf( %s %s %sn,

7、monthi,monthi+1,monthi+2); char s = ; printf(%-3s %s %-3s %s %-3s %s ,s,week,s,week,s,week); for(int j=0;j6;j+) /每个月最多占行 for(int d=i;di+3;d+) /三个月并排打印每一行 printf( ); for(int n=0;n7;n+) /每一行有日 int k=1-fdmonthd+n+7*j; if(kdaysmonthd) printf( ); else printf(%-3d, k); /计算日期输入 printf(n); printf(n); 2. 编码1

8、判断闰年与平年 if (a%400=0|a%100!=0&a%4=0) /判断是不是闰年 return (a-1+a/4-a/100+a/400)%7; /闰年元旦计算 else return (a+a/4-a/100+a/400)%7; /平年元旦计算2打印表头的制作int main() int n,i,y,fdmonth12; printf(*欢迎使用周利凯设计万年历*n); printf( 本程序来至电气1班周利凯,请愉快使用!n); printf(请输入年份:);3判断年分是否符合要求并算每月的第一天是周几?scanf(%d, &y); if (y1) printf(输入的是错误年份。

9、n); else n=(y%400=0|y%100!=0&y%4=0); char *month12=Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec; char week= 日 一 二 三 四 五 六 ; int daysmonth12=31,28+n,31,30,31,30,31,31,30,31,30,31; /输入年份每个月的总天数 printf( %d年的日历nn, y); for(i=0;i12;i+) /计算个月每个月的第一天 static int day=0; fdmonthi=(day+fdyear(y)%7; day=day+d

10、aysmonthi; 4.设计三月成为一排与打印万年历for(i=0;i12;i+=3) /每三个月并排打印 printf( %s %s %sn, monthi,monthi+1,monthi+2); char s = ; printf(%-3s %s %-3s %s %-3s %s ,s,week,s,week,s,week); for(int j=0;j6;j+) /每个月最多占行 for(int d=i;di+3;d+) /三个月并排打印每一行 printf( ); for(int n=0;n7;n+) /每一行有日 int k=1-fdmonthd+n+7*j; if(kdaysmonthd) printf( ); else printf(%-3d, k); /计算日期输入 printf(n); printf(n); 4.万年历的调试与分析

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号