C语言年历 课程设计报告Word文件下载.docx
《C语言年历 课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言年历 课程设计报告Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
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系统功能设计
基本功能:
2.2数据设计
输入年份
输出
2012
2012年12个月的日历信息
2009
2009年12个月的日历信息
2000
2000年12个月的日历信息
2020
2020年12个月的日历信息
2.3界面的设计
第3章系统实现
(1)代码如下:
#include<
stdio.h>
voidmonth(intm);
/*函数说明*/
voidhead(intm);
intdaysofmonth(intm);
intisleap(inty);
intfirstday(inty);
intyear,weekday;
/*全局变量定义*/
main()
{
inti;
printf("
输入年份:
"
);
scanf("
%d"
&
year);
weekday=firstday(year);
/*weekday为year年份元月一日的星期号*/
\n\n"
%d年\n"
year);
/*17个空格*/
for(i=1;
i<
=12;
i++)/*输出year年份12个月的日历信息*/
{
month(i);
printf("
\n"
}
printf("
}
voidmonth(intm)/*输出第m月份的日历信息*/
inti,days;
head(m);
days=daysofmonth(m);
for(i=1;
=days;
i++)
{
printf("
%5d"
i);
weekday=(weekday+1)%7;
if(weekday==0)/*打印下一个之前是否换行*/
{
printf("
\n"
/*3个空格*/
}
}
voidhead(intm)/*输出第m月份的头部信息*/
inti;
\n%d月日一二三四五六\n"
m);
"
for(i=0;
weekday;
/*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;
y;
i++)/*补上所有的闰年的天数*/
n+=isleap(i);
returnn%7;
(2)运行结果
参考文献
(1)杨文君杨柳.编著C语言程序设计教程[M].清华大学出版社.2010.3
(2)谭浩强.C程序设计教程.北京:
清华大学出版社.2007.07
(3)路俊维马雪松主编.C语言程序设计.中国铁道工业出版社.2009.06
(4)李春葆金晶黄楠喻丹丹编著C语言程序设计清华大学出版社2008