失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c语言课程设计报告万年历 c语言课程设计报告-万年历系统.doc

c语言课程设计报告万年历 c语言课程设计报告-万年历系统.doc

时间:2020-02-07 15:49:48

相关推荐

c语言课程设计报告万年历 c语言课程设计报告-万年历系统.doc

学号

《》

课程设计报告

万年历系统专业: 网络工程(对口)班级: 16(3)姓名: 代应豪指导教师: 代美丽成绩:

计算机学院

4月25日目 录

1.设计内容2

1.1 课程设计的内容2

1.2 课程设计的要求2

2.概要设计3

2.1 系统总体设计3

2.2功能模块设计3

3.设计过程或程序代码4

3.1算法提示:4

3.2程序源代码5

4.设计结果与分析15

4.1设计结果15

4.2 程序分析18

1.设计内容1.功能结构框图:

2.闰年的判断:

计算所输入的年份是否可被4整除,若不能被整除,为平年。若可被4整除,计算此年份能否被100整除,不能被100整除则为闰年。既能被4整除,也能被100整除的年份,若也能被400整除,则为闰年,否则为平年。闰年366天,平年365天

3.2程序源代码

#include

#include

char *NameOfMonth[12]={"January","February","March","April","May","June","July","August","September","October","November","December"};

char *WeekDay[7]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

int IsLeapYear (int year)

{

if(year%4==0&&year%100!=0||year%400==0)

{

return 1;//闰年返回1

}else

{

return 0;//平年返回0

}

}

int DateCheck(int uYear,int uMonth,int uDay)//合法返回true,非法或超出范围返回false

{

if (uYear<1901||uYear>9999||uMonth<1||uMonth>12||uDay<1||uDay>31)

{

return 0;

}

if (uMonth==4||uMonth==6||uMonth==9||uMonth==11)

{

if (uDay>30)

{

return 0;

}

}else if (uMonth==2)

{

if (IsLeapYear(uYear))

{

if (uDay>29)

{

return 0;

}

}else

{

if (uDay>28)

{

return 0;

}

}

}

return 1;

}

int GetDays (int year,int month,int day)

{

int sum=0;

if (DateCheck(year,month,day)==0)

{

return -1;//日期有误

}

if(year>=1901)

{

int X=(int)(year/100);//世纪数

int Y=X-(int)(X/4);//如果按4年一闰来算,Y指的是比实际上多算的天数,在下面需要减去

if (month<=2&&month>0)

{

year--;//把1月、2月视为上一年的13月、14月(纯粹为了计算需要)

month+=12;

}

sum=(int)(365.25*(year-1900))+(int)(30.6*(month+1))+day-Y-49;//以365.25(本来实际太阳年是365.2425天)来计算是为了计算按4年一闰的整数年总天数,加上月份天数再加上余下天数,减掉多闰天数,再减掉一个偏差值(多加的)

//月份以30.6天的平均值计算。最后减去的49,是多加的一个月以及其余相差天数的和,可得到1900年1月1日的积日为0

}

return sum;//返回距离1900年1月1日的总天数(积日)

}

int GetDayOfMonth(int month,int year)

{

int tmp_days=GetDays(year,month,1);//本月积日

int DayOfMonth=0;

month++;//下个月

if (month>12)

{

month=1;//遇到月份为12月的情况,月份为1,年份加1

year++;

}

DayOfMonth=GetDays(year,month

如果觉得《c语言课程设计报告万年历 c语言课程设计报告-万年历系统.doc》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。