黑龙江八一农垦大学理学院
《C程序设计》课程设计报告
2011-2012学年第二学期
设计题目: 用C语言设计一个年历系统
指导教师: 魏老师
完成时间:2012年6月13日 至2012年6月20日
第 一 组报告成员
姓 名专业班级学 号Student1信息与计算科学201X40X1000Student2信息与计算科学201X40X1000Student3信息与计算科学201X40X1000Student4信息与计算科学201X40X1000Student5信息与计算科学201X40X1000
成绩评定: 分 任课教师签字: 2012年6月20日
目录
1、程序设计与分析- 2 -
1、功能分析与任务分配- 2 -
2、流程图- 4 -
3、数据结构- 6 -
2、详细设计- 8 -
3、参考文献- 10 -
4、附录- 10 -
5、总结- 10 -
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
=============================================
2、判断是不是闰年 (year%4!=0||year%100==0&&year%400!=0)满足条件就是平年,把一年中的所有月份分为四类(28,29,30,31)。
3、求出一年中的第一天是周几 (year +(year-1)/4-(year-1)/100+(year-1)/400)%7。
4、有指针数组存放十二个月的英文和星期的英文缩写。
5、用FOR循环输出各月份的日历
(二)任务分配:
1、Student1:程序综合整理
2、Student2:判断闰年程序编写
3、Student3:月份循环程序编写
4、Student4:主函数程序编写
5、Student5:天数循环程序编写
2、流程图
1) 整个函数流程图:
2) 判断任一年是否为闰年,及该年每月天数(N-S流程图):
输入年份
是month==1||month==3||month==5||month==7||
month==8||month==10||month==12
否
当月是31天
是month==2
否
year%4==0
是
否
当月是30天
否year%100==0
是
当月是
28天
当月是
29天year%400==0
是
否当月是29天当月是28天
3、数据结构
1)整型:
int judge(int year,int month)
int year,i,j,a,n,m,k;
2)字符型:
char ** p;
3)字符型数组:
week[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
month[]={"January","February","March","April","May","June","July","August","September","October","November","December"};
4)指针数组:
char * week[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
char*month[]={"January","February",