学号

《》

课程设计报告

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

计算机学院

2017年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相关推荐

  1. c语言课程下载模板,万年历C语言课程设计万年历

    万年历C语言课程设计万年历Tag内容描述: 1.摘 要本设计应用AT89C52芯片作为核心,采用C语言进行编程,实现以下功能:小时.分.秒.年.月.日.星期的显示和实时温度检测.该设计的电子时钟系统由 ...

  2. 《操作系统》课程设计报告——用JAVA语言模仿实现“吃水果”问题

    引言 操作系统是计算机的核心总控软件,是计算机系统的指挥和管理中心,是计算机系统的灵魂.进程管理与文件系统是操作系统都是操作系统的五大重要功能之一.通过模拟操作系统的实现,加深学生对计算机操作系统内核 ...

  3. c语言银行卡管理系统程序设计报告,《c语言程序设计》课程设计报告-职工信息管理系统.doc...

    <c语言程序设计>课程设计报告-职工信息管理系统.doc 还剩 24页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环 ...

  4. c语言程序设计超市会员卡管理系统,C语言程序设计课程设计报告超市水果信息管理系统...

    <C语言程序设计课程设计报告超市水果信息管理系统>由会员分享,可在线阅读,更多相关<C语言程序设计课程设计报告超市水果信息管理系统(28页珍藏版)>请在人人文库网上搜索. 1. ...

  5. C语言程序设计会员计费系统,C语言课程设计酒店房间登记与计费管理系统总结报告...

    <C语言课程设计酒店房间登记与计费管理系统总结报告>由会员分享,可在线阅读,更多相关<C语言课程设计酒店房间登记与计费管理系统总结报告(19页珍藏版)>请在人人文库网上搜索. ...

  6. c语言时钟加秒表报告,51单片机秒表计时器课程设计报告(含C语言程序)-20210419061005.docx-原创力文档...

    XXXXXX学院 51单片机系统设计课程设计报告 题 目:秒表系统设计 专业.班级: 学生姓名: 学号: 指导教师: 分数: [摘要]本设计是一个秒表计时器,采用51单片机实现.电路包括以下儿部分:单 ...

  7. c语言航班管理系统报告,c航班管理系统课程设计报告.doc

    c航班管理系统课程设计报告 北华航天工业学院课程设计报告 PAGE 课程设计报告 报告(论文)题目: 1航班信息查询系统 2迷宫问题 作者所在系部: 计算机科学与工程系 作者所在专业: 计算机科学与技 ...

  8. C语言源码做的运动会管理系统课程设计(源码+课程设计报告)

    一.课程设计的目的: C语言程序设计课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C语言的知识点,又接近工程实际需要.目的是通过课程设计的综合训练 ...

  9. 数据结构c语言程序设计报告,数据结构与算法课程设计报告模版.doc

    数据结构与算法课程设计报告模版.doc 数据结构与算法课程设计报告题 目本科生导师制问题与家族关系查询系统院 (系) 信息科学与工程 专业班级 计算机应用技术1301班 学生姓名 顾 泉 学 号 20 ...

  10. c语言考试系统设计报告,c语言课程设计报告单项选择题标准化考试系统.doc

    c语言课程设计报告单项选择题标准化考试系统.doc <C语言程序设计>课程设计题目:单项选择题标准化考试系统专业:计算机科学与技术班级:计科1001目录<C语言程序设计>课程设 ...

最新文章

  1. python中ttk和tkinter_Python tkinter与ttk日历
  2. 硬件断点反跳似乎_高性能应用程序:多路复用,反跳,系统字体和其他技巧
  3. 技术图文:如何利用 Turtle 绘制一棵漂亮的樱花树
  4. Spring scope 学习笔记
  5. umi搭建react+antd项目(一)环境配置
  6. qt数据库有效插件为空的情况
  7. python 列表元素操作 push()和append()的区别
  8. java poi doc转docx_Java 插入Word分页符、分节符
  9. 小阳买水果(前缀和,单调栈,思维)
  10. Maven的优势举例
  11. 使用SpringBoot AOP 记录操作日志、异常日志
  12. Code::Blocks 16.01 改变注释的的颜色
  13. Bootstrap3 按钮组插件
  14. ROS笔记(7) 话题通信
  15. azure 入门_Azure Databricks入门指南
  16. [python]上传文件验证
  17. java实训自我总结_java实训个人总结
  18. [个人笔记] vCenter回收活跃虚拟机的剩余可用空间
  19. 「网络流 24 题」火星探险问题。
  20. redis管理_Redis 桌面管理工具Redis Desktop Manager

热门文章

  1. WVPPro+ZLMediaKit+大华相机推流+安卓模拟GB28181设备推流
  2. 如何在程序中调用Bartender软件打印文件模板
  3. Java开发手册、帮助文档
  4. 利用DEEPLABV3-RESNET101获取人体蒙版
  5. JDK历史所有版本下载地址(附Oracle帐号)
  6. Faster RCNN 中的Anchor
  7. web开发技术栈(后端)
  8. php后端技术 有哪些,web后端开发技术有哪些 ?
  9. IDEA插件开发(简单案例助你快速入门)
  10. ubuntu安装wechat