《2022年c语言程序设计-打印月历 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言程序设计-打印月历 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C 语言课程设计 课程设计报告题目学号姓名年级专业指导教师完成日期年月日安徽师范大学物理与电子信息学院College of Physics and Electronic Information, Anhui Normal University 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 2 一、问题描述1)日期按星期排列2)日历查询,输入日期进行查询。3)闰年判断功能显示查询日期所在月份的月历,还将显示所在年份是否为闰年。二
2、、问题分析对于要求 1 :根据蔡勒公式, 可以很容易地有年月日推断出星期:rst=yr-1+(int)(yr-1)/4)-(int)(yr-1)/100)+(int)(yr-1)/400)+ds; wkd=rst%7; 4)对于要求 2:在打印月历时,只要知道第一天的星期,就可以依次输入后面的日期,通过定长度输出日期,在遇到某天时星期六时,就换行输出,因此可以按照月历的格式输出。5)对于要求 3:闰年的判断,能被4 整除但不能被 100 整除,或者能被400 整除的年份为闰年,否则为平年。日期的查询,就是直接打印改天所在月份的月历。三、 小组成员:名师资料总结 - - -精品资料欢迎下载 -
3、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 3 四、总体设计功能模块流程图进入程序输入年月判断闰年按星期排输出月历月历显示日期查询闰年判断排列星期输入日期名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 4 五、详细设计主要函数:int runYear(int year); 该函数判断某年是否是闰年,参数y
4、ear 表示要判断的年份,返回值1 表示该年为闰年, 0 表示该年为平年。int CalWkd(int yr,int mth) 该函数确定每月的天数,闰年二月为29 天。showcld(int wkd,int mtd) 该函数用以根据一个日期推断星期,参数为要判断的年月日。返回值为整型,123456分别表示星期一到星期六,0 表示星期天。六、程序清单#include int JgYr(int yr) if (yr%4=0&yr%100!=0|yr%100=0&yr%400=0) return 1; else return 0; int CalWkd(int yr,int mth) int ds
5、=0,i,rst,wkd; int mthd13=0,31,28,31,30,31,30,31,31,30,31,30,31; if (JgYr(yr) mthd2=29; for (i=1;imth;i+) ds+=mthdi; ds+=1; rst=yr-1+(int)(yr-1)/4)-(int)(yr-1)/100)+(int)(yr-1)/400)+ds; wkd=rst%7; return wkd; showcld(int wkd,int mtd) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
6、 - - - - - 第 4 页,共 8 页 - - - - - - - - - 5 int dt=1,i,j=0; printf(SuntMontTuetWedtThutFritSatn); for (i=0;iwkd;i+) printf(t); j+; while (j!=7) printf(%d,dt); if (j6) printf(t); else printf(n); dt+; j+; while (1) for (j=0;j7;j+) printf(%d,dt); if (j!=6) printf(t); else printf(n); if (dt!=mtd) dt+; el
7、se return 0; int main() int yr,mth,mtd,wkd,mthd13=0,31,28,31,30,31,30,31,31,30,31,30,31; printf(Input the Year and Month(Year-Month):); scanf(%d-%d,&yr,&mth); if (yr0|mth12) return 0; if (JgYr(yr) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - -
8、 - - 6 mthd2=29; mtd=mthdmth; wkd=CalWkd(yr,mth); showcld(wkd,mtd); return 0; 七、测试数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 7 八、心得体会经过两周的奋战,终于达到了预定的效果,完成了该信息系统的设计和编写。此程序是一个功能比较完整的能实现一定的实际功能的程序,代码比较短,不到 100行,实现的功能有显示当前日历,闰年的判断,按星期显示。
9、然后在程序编写过程中, 遇到了问题,比如在输入年月格式不正确的情况下,有时会出现程序崩溃。到写报告为止,漏洞基本被找出,并得到修正。通过写这个程序,我对C 语言有了更深的认识, C语言是一门较为实用的计算机语言。在本次课程设计中,要感谢老师的指导,也要感谢提供意见和建议的同学,才得以大致完成该设计。通过本次设计我也明白了团队合作的重要,也体会到了编程的乐趣。再次感谢老师的指导!九、参考文献谭浩强, c 语言设计教程,清华大学出版社,2007年赵永哲,李雄飞,戴秀英编著, c 语言设计程序,科学出版社,2003年夏宽理,赵志正编著,c 语言程序设计,中国铁道出版社, 2006年谭浩强编著,c 程
10、序设计,清华大学出版社, 1991 年名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 8 物理与电子信息学院课程设计评定意见指导教师评语主要内容包括:设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。成绩:签名:年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -