打印年历
设计报告
姓名:
学号:
专业:
指导教师:
目 录
【摘要】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 数据设计
输入年份输出20122012年12个月的日历信息20092009年12个月的日历信息20002000年12个月的日历信息20202020年12个月的日历信息
2.3 界面的设计
第3章 系统实现
(1)代码如下:
#include
void month(int m); /*函数说明*/
void head(int m); /*函数说明*/
int daysofmonth(int m); /*函数说明*/
int isleap(int y); /*函数说明*/
int firstday(int y); /*函数说明*/
int year,weekday; /*全局变量定义*/
main()
{
int i;
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");
}
void month(int m) /*输出第m月份的日历信息*/
{
int i,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个空格*/
}
}
}
void head(int m) /*输出第m月份的头部信息*/
{
int i;
printf("\n%d月 日 一 二 三 四 五 六\n",m);
printf(" "); /*3个空格*/
for(i=0;i