C语言年历课程设计报告.docx

上传人:b****8 文档编号:11038549 上传时间:2023-02-24 格式:DOCX 页数:10 大小:144.63KB
下载 相关 举报
C语言年历课程设计报告.docx_第1页
第1页 / 共10页
C语言年历课程设计报告.docx_第2页
第2页 / 共10页
C语言年历课程设计报告.docx_第3页
第3页 / 共10页
C语言年历课程设计报告.docx_第4页
第4页 / 共10页
C语言年历课程设计报告.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

C语言年历课程设计报告.docx

《C语言年历课程设计报告.docx》由会员分享,可在线阅读,更多相关《C语言年历课程设计报告.docx(10页珍藏版)》请在冰豆网上搜索。

C语言年历课程设计报告.docx

C语言年历课程设计报告

目录

【摘要】3

第1章概述(_黑体小二号字)4

1.1系统实现的目标(黑体小三号字)4

1.2系统实现方案4

1.3系统实现环境4

1.4具体的开发方法4

第2章系统设计5

2.1系统功能设计5

2.2数据设计5

2.3界面的设计6

第3章系统实现7

参考文献8

【摘要】

本次课程设计的内容是设计一个能输出指定年份日历的程序。

用户输入指定年份,如2012,并可输出2012年12个月的所有日历。

该日历程序解决了两个问题:

一是判断这一年是否是闰年;二是确定该年的第一天是星期几。

其中,isleap(y)函数式用于判断y年是否是闰年,daysofmonth(m)函数用于计算返回year年m月的天数,firstday(y)函数通过从公元第一天为星期天计算出y年第1天使星期几。

该程序简单明了,成功的实现了设计要求。

【关键词】

日历闰年函数

第1章概述

1.1系统实现的目标

熟练地掌握用c语言编写日历程序,使一年的12个月份能完整的呈现出来,巩固对C语言课程内容和知识的掌握。

1.2系统实现方案

运用C语言将日历程序系统化,通过编写代码,调试运行,实现体统目标。

1.3系统实现环境

在XP操作系统下VC6.0的开发平台。

1.4具体的开发方法

1.用isleap(y)函数式判断y年是否是闰年,因为闰年和平年的天数是不一样的。

2.用daysofmonth(m)函数计算返回year年m月的天数。

3.用firstday(y)函数通过从公元第一天为星期天计算出y年第1天是星期几。

4.一步步编写程序,调试程序,连接运行程序。

第2章系统设计

2.1系统功能设计

基本功能:

1.用isleap(y)函数式判断y年是否是闰年,因为闰年和平年的天数是不一样的。

2.用daysofmonth(m)函数计算返回year年m月的天数。

3.用firstday(y)函数通过从公元第一天为星期天计算出y年第1天是星期几。

2.2数据设计

输入年份

输出

2012

2012年12个月的日历信息

2009

2009年12个月的日历信息

2000

2000年12个月的日历信息

2020

2020年12个月的日历信息

2.3界面的设计

第3章系统实现

(1)代码如下:

#include

voidmonth(intm);/*函数说明*/

voidhead(intm);/*函数说明*/

intdaysofmonth(intm);/*函数说明*/

intisleap(inty);/*函数说明*/

intfirstday(inty);/*函数说明*/

intyear,weekday;/*全局变量定义*/

main()

{

inti;

printf("输入年份:

");

scanf("%d",&year);

weekday=firstday(year);/*weekday为year年份元月一日的星期号*/

printf("\n\n");

printf("%d年\n",year);/*17个空格*/

for(i=1;i<=12;i++)/*输出year年份12个月的日历信息*/

{

month(i);

printf("\n");

}

printf("\n\n");

}

voidmonth(intm)/*输出第m月份的日历信息*/

{

inti,days;

head(m);

days=daysofmonth(m);

for(i=1;i<=days;i++)

{

printf("%5d",i);

weekday=(weekday+1)%7;

if(weekday==0)/*打印下一个之前是否换行*/

{

printf("\n");/*3个空格*/

}

}

}

voidhead(intm)/*输出第m月份的头部信息*/

{

inti;

printf("\n%d月日一二三四五六\n",m);

printf("");/*3个空格*/

for(i=0;i

printf("");/*5个空格*/

}

intdaysofmonth(intm)/*返回year年m月的天数*/

{

switch(m)

{

case1:

case3:

case5:

case7:

case8:

case10:

case12:

return31;

case4:

case6:

case9:

case11:

return30;

case2:

if(isleap(year))

return29;

else

return28;

}

return0;

}

intisleap(inty)/*判断y年是否为闰年*/

{

return((y%4==0&&y%100!

=0)||y%400==0);

}

intfirstday(inty)/*从公元第1天为星期天算出y年第1天是星期几*/

{

longn=y*365+1;

inti;

for(i=1;i

n+=isleap(i);

returnn%7;

}

(2)运行结果

参考文献

(1)杨文君杨柳.编著C语言程序设计教程[M].清华大学出版社.2010.3

(2)谭浩强.C程序设计教程.北京:

清华大学出版社.2007.07

(3)路俊维马雪松主编.C语言程序设计.中国铁道工业出版社.2009.06

(4)李春葆金晶黄楠喻丹丹编著C语言程序设计清华大学出版社2008

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1