C语言课程设计万年历完整版

上传人:壹****1 文档编号:469205867 上传时间:2023-05-20 格式:DOC 页数:18 大小:151.50KB
返回 下载 相关 举报
C语言课程设计万年历完整版_第1页
第1页 / 共18页
C语言课程设计万年历完整版_第2页
第2页 / 共18页
C语言课程设计万年历完整版_第3页
第3页 / 共18页
C语言课程设计万年历完整版_第4页
第4页 / 共18页
C语言课程设计万年历完整版_第5页
第5页 / 共18页
点击查看更多>>
资源描述

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

1、C语言课程设计万年历目 录一 引言.2二 系统功能和数据说明.3一)功能简介3二)程序中的数据说明3三 程序总体设计及流程图.4一)应用到的c语言4二)程序的总框架5四 功能模块设计及调试.5 一)算法说明51. 总天数的算法.52. 计算输入日期是星期几.63. 对输入信息的汇总.84. .界面的控制.10二)调试结果.11五 程序清单12六 结束语17一 引言通过大一上学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程有很多困惑但是当自己能够独立的看懂,能过独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我可以里哟哦那个它看懂一些简单的程序,编写一些简单的计算程序,更

2、多的是学会了一种思想编程,它让我在去思考很多日常生活中的事物是怎么样通过一个个小小的函数实现功能的,激发我对探究的兴趣。C语言是近年在国内外得到迅速推广应用的一种语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写各种软件。在这次的课程设计中我将把日常生活中最经常接触的日期的查询利用C语言的程序编成一个简单的日历。通过这个小小的日历可以实现很多功能。在程序中你能看到很多熟悉的C语言关键字,同时也加入了很多自己课外了解到的一些关键字。在不断的调试中最终才获得最为完整的程序。接下来就是我的C

3、语言课程设计的具体内容来了二 系统功能和数据说明(一)功能简介 在我们的日常生活中能接触到很多不同类型的日历,在日历上我们通常希望它能简介明了的给我们最想要的日期信息。在我的万年历当中,就是将日历,月历做的简单明了,很方便我们的使用。下面是它要实现的一些基本功能:用C语言编写万年历 1、输入年份,判断是否为闰年 2、输入年月日,判断改日为星期几 3、输入年份,打出12个月历,输入月份,打出该月的日历 4、要求用多个函数实现 名称万年历 修改1、对输入的日期进行容错处理 2、增加和修改为英文的月份和星期显示 3、采用指针形式的weeks和month数组(二)程序中的数据说明int days12

4、= 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31; 这是定义的关于每个月天数的数组,根据大小月以及二月分的特殊情况将每个月的天数最为数组中的元素存入数组当中。其中days1=28,是将闰年二月的天数28天作为初始元素存入。在经过theWeek函数后就可以给days1中存入正确的月天数。char *weeks7 =Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday; char *months12 = January, February, March, April, May,

5、June, July, August, September, October, November, DeCember; 这两组数据都设计利用了指针定义的。这两个数组的作用是存入每个月,每个星期的地址。利用指针可以提高程序的可读性,可以更方便使用。三 程序总体设计及流程图(一)应用到的C语言头文件:stdio.h /*/ conio.h /*/ stdlib.h /*/采用指针形式定义了*weeks和*months两组数组指针变量在程序中运用了大量的自定义函数,都涉及为了使程序更简介明了。其中有:isLeap/*判断是否为闰年*/theLeap/*输入输出改年是否为闰年的信息*/ Zeller/

6、*判断星期的自定义函数*/ theWeek()/*对于输入的日期输出该天是星期几*/ printCalendar()/*输出日期详情及表格*/ details /*月历详情函数*/ theCalendar/*打开相应的详情*/ Menu()/*程序的主菜单*/ Select()/*按键的控制函数*/这些函数的定义极其相应的内部程序共同构筑起了这个万年历总程序。其中的isLeap函数是用来判断输入的年份是否为闰年,实现了预计功能的第一个方面;theWeek函数则是为了实现判断星期而编写的;printCalendar , details , theCalendar这三个函数的共同使用就能够完成第三

7、个功能。(二)程序的总框架开始计算是否为闰年计算星期数按键1?按键2?按键3?输出是否为闰年输出星期数计算编辑接收到的数据输出具体月历按键0?是是是是计算是否为闰年计算星期数按键1?按键2?按键3?是是是计算是否为闰年计算星期数按键1?按键2?按键3?是是计算是否为闰年计算星期数按键1?按键3?是是结束 退出四 功能模块函数设计和调试一).算法说明1. 总天数的算法:isLeap和theLeap函数的共同使用,一起判断出了输入年份是否为闰年的信息。判断一年是否为闰年的方法是:该年分而能被四整除但不能被100整除,或者是能被400整除。流程图二:是否为闰年的判断2. 计算输入日期是星期几:利用Z

8、eller函数可以判断出星期,然后对于输入的日期可以通过theWeek() 函数对Zeller进行一次调用然后就可以输出相应的星期数。int Zeller(int year, int month, int day) /by theWeek(); printCalendar();/*判断星期的函数*/ int C, y, m, d, w; if( month = 0 ? w : w+7);void theWeek() /by Select();/*对于输入的日期输出该天是星期几*/ int year, month, day, w; printf(n); do printf(Please inpu

9、t the date(YYYY-MM-DD): ); scanf(%d-%d-%d, &year, &month, &day); if( isLeap( year ) ) days1 = 29; /是否闰年 else days1 = 28; while(!( (month 0 & month 0 & day = daysmonth - 1) ) ); w = Zeller(year, month, day); printf(nThis day %d-%02d-%02d is %s., year, month, day, weeksw); getch();3. 对输入信息的汇总:theCalen

10、dar/*打开相应的详情*/ ,details /*月历详情函数*/ ,printCalendar /*输出日期详情及表格*/,通过这三个函数可以将输入数据的具体信息通过完整日历的形式表示出来。void printCalendar(int year, int month) /by details(); theCalendar();/*输出日期详情及表格*/ int w, d; w = Zeller(year, month, 1); printf(%28s, monthsmonth - 1); printf(n -%02d-n, month); printf( SUN MON TUE WED T

11、HU FRI SATn); for(d = 0; d w; d+) printf( ); for(month-, d = 1; d = daysmonth; d+) printf(%4d, d); if( (d + w)%7 = 0 & d != daysmonth) printf(n); printf(n=n);例: 1946, January SUN MON JUE WED THU FRI SAT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31=void details(int year) /by theCalendar();/*月历详情函数*/ int month; while(true) do system(cls); printf(Press 0 to exit.n); printf(Please input the month: ); scanf(%d, &month)

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

当前位置:首页 > 商业/管理/HR > 营销创新

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