黑龙江八一农垦大学理学院 《C 程序设计》课程设计报告
2011-2012 学年第二学期
设计题目:
指导教师:
用 C 语言设计一个年历系统 魏老师
完成时间:2012 年 6 月 13 日 至 2012 年 6 月 20 日
第
一
组报告成员
姓 名
专业班级
学 号
Student1
信息与计算科学
201X40X1000
Student2
信息与计算科学
201X40X1000
Student3
信息与计算科学
201X40X1000
Student4
信息与计算科学
201X40X1000
Student5
信息与计算科学
201X40X1000
成绩评定:
分
任课教师签字: 2012 年 6 月 20 日
目录
目录
1 、 程 序 设 计 与 分 析 - 2 -
功 能 分 析 与 任 务 分 配 - 2 -
流 程 图 - 4 -
数 据 结 构 - 6 -
详 细 设 计 - 8 -
参 考 文 献 - 10 -
附 录 - 10 -
总 结 - 10 -
第 0 页 共 10 页
黑龙江八一农垦大学理学院《C 程序设计》课程设计报告
1、程序设计与分析
1、功能分析与任务分配
(一)功能分析:
1、要输入任一年显示出该年的所有月份日期,应该先设计具体的输出格式,如 下:
the calendar of the year2012.
January
Sun Mon Tue 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
=============================================
判断是不是闰年 (year%4!=0||year%100==0&&year%400!=0)满足条件就是平 年,把一年中的所有月份分为四类(28,29,30,31)。
求出一年中的第一天是周几 (year +(year-1)/4-(year-1)/100+(year-1)/400)%7。 4、有指针数组存放十二个月的英文和星期的英文缩写。
5、用FOR循环输出各月份的日历
(二)任务分配:
Student1:程序综合整理
Student2:判断闰年程序编写
Student3:月份循环程序编写
Student4:主函数程序编写
Student5:天数循环程序编写
2、流程图
1) 整个函数流程图:
1 - of 10
开始定义一个指针变量**p定义整型变
开始
定义一个指针变量**p
定义整型变 year,i=0,j=0,a,n,m=1,k=0 和函数
定义两个字符型数组,
a=(year+(year-1)/4-(year-1)/100+(year-
n=judge(year,i+1),p=mon
break,退出本次循环
break,退出本次循环
break,退出本次循环
a=(a+m)%7 回车
结束
黑龙江八一农垦大学理学院《C 程序设计》课程设计报告
(a+m)%7==
judge
Y
0
month,week
输出回车
Y
n==2&&m==2
输入年份,year
1)/400)%7
8
Y
N
i++,i<4
Y
th+i
输出月份回 车
n==3&&m==2
9
Y
n==4&&m==3
0
Y
j++,j<
7
Y
输出星期回 车
k++,k
Y
输出六个空 格
N
N
输出”
==============”
m++,m<
32
输出占六个字节的天
数
N
2 - of 10
30 天
30 天
黑龙江八一农垦大学理学院《C 程序设计》课程设计报告
2) 判断任一年是否为闰年,及该年每月天数(N-S 流程图):
输入年份
month==1||month==3||month==5||month==7||
month==8||month==10||month==12
是 否
当月是
31 天
是 month==2
否
当月是
31 天
year%4==0
是
否
当月是
当月是
31 天
year%100==0
否 是
当月是
28 天
当月是
当月是
31 天
当月是
29 天
year%400==0
是
否
当月是
28 天
当月是
当月是
31 天
当月是
29 天
当月是 29 天
当月是
28 天