PAGE

.. ..

南京航空航天大学金城学院

设计题目 年历显示

学生姓名 常思达

学 号 2015023310

专业班级

指导教师 闵芳

2016 年 3 月 4 日

目 录

TOC \o "1-2" \h \z \u 一、课程设计问题描述 1

1.课程设计题目 1

2.设计任务要求 1

二、总体设计 1

1.总体思路 1

2.遇到的问题 1

3.问题的解决 1

4.大概的流程图 1

三、详细设计 3

1.显示输入年份的日历 3

2.显示所查询月份的日历 4

3.判断当天是星期几,是否为法定假日 4

四、运行结果测试与分析 5

1.输出结果 5

2.分析 7

五、结论与心得 7

.. ..

一、课程设计问题描述

1.课程设计题目

年历显示

2.设计任务要求

功能要求

(1)输入一个年份,输出是在屏幕上显示该年的日历。假定输

的年份在1940-2040年之间。

(2)输入年月,输出该月的日历。

(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。

二、总体设计

1.总体思路

想要实现输出某年的日历,必须知道一个常识,那就是公元一年一月一日是星期一,这是一个重要的切入点。如果知道了这一点,那问题就迎刃而解了。我们可以先计算出公元一年一月一日到这年一月一日之前的总天数,这用for语句较易实现,不过要注意到平年与闰年的区别。有了总天数,再除以7,余数是什么,那这年的一月一日就是星期几,如此依次写出一月的日历。然后一月的天数加上总天数得到的结果再除以7,如此知道二月一日是星期几,写出二月的月历。如此便可以依次写出一到十二月的日历。至于输入年月,输出该月的日历,思路相同。至于判断是否为公历节日,用一个if语句便可实现。

2.遇到的问题

(1)函数的调用与套用,具体来说就是如何在一个构造的函数中调用另一个构造函数。

(2)把每月的日历设计的美观,如何让星期和下面的数字对齐。

(3) 如何把握日历的前几天的空格,使每月的第一天正好对在它应该的星期下。

3.问题的解决

第一个问题我通过查书,需要先把调用的函数在该构造函数中声明。至于第二和第三个问题,都是通过反复调试,反复修改,最后基本达到了要求。

4.大概的流程图

开始输入你查询的年份

开始

输入你查询的年份

输入年月

输入年月日和当前日期

判断所输入的年份是否为闰年

判断所输入的年份是否为闰年

判断当天是星期几,是否为法定假日how(),where()

判断当天是星期几,是否为法定假日

how(),where()

how(),where()

how(),where(),why(),when()

输出该年的日历

输入所查询月份的日历

结束

结束

三、详细设计

1.显示输入年份的日历

当我们输入年份任意公元后的年份year时,可以通过一个for语句,算出从公元一年到year-1年的总天数,这其中要注意平年与闰年的区别,平年365天,闰年是366天,把这一部分用how()函数表示。算出总天数Z后,用Z除以7,余数是d,则year这一年的一月一日便是星期d。如此则一月的日历可表示出来。然后把Z加上一月的天数tian得到的新值赋给Z,再用Z除以7,重新得到新的余数d,如此可知二月的第一天是星期几,可表示出二月的日历。依次循环,用for(i=0;i<12;i++)语句可表示出该年的日历。注意闰年二月是29天,平年是28天。

开始

开始

输入year

输入year

S=0,i=1

S=0,i=1

是否为闰年

是否为闰年

YNS=S+365S=S+366

Y

N

S=S+365

S=S+366

i++

i++

i<=year

i<=year

输出s

输出s

结束

结束

2.显示所查询月份的日历

当我们输入year和month时,同上,用how()函数算出公元一年一月一日到year-1年的总天数Z,再用一个for(i=1;i

3.判断当天是星期几,是否为法定假日

当我

C语言年历显示主菜单怎么做,c语言程序的设计年历显示.doc相关推荐

  1. Android 9.0 系统设置显示主菜单添加屏幕旋转菜单实现旋转屏幕功能

    1.前言 在android9.0的系统rom定制化开发中,在对系统设置进行定制开发中,有产品需求要求增加旋转屏幕功能的菜单,就是在点击旋转屏幕菜单后弹窗显示旋转0度,旋转 90度,旋转180度,旋转2 ...

  2. Android 12.0 系统设置显示主菜单添加屏幕旋转菜单实现旋转屏幕功能

    1.前言 在android12.0的系统rom定制化开发中,在对系统设置进行定制开发中,有产品需求要求增加 旋转屏幕功能的菜单,就是在点击旋转屏幕菜单后弹窗显示旋转0度,旋转 90度,旋转180度, ...

  3. js动态加载div显示主菜单和子菜单+jquery获取动态id

    最近在做项目重构的主界面工作中,需要动态显示主菜单以及子菜单(各个界面的链接),查看原来老系统采用的是asp控件,但是重构的时候采用mvc框架,而且这些菜单并不是死的,而是通过其他界面来配置的,主菜单 ...

  4. c语言学生作业ppt课件怎么做,C语言课件完整版(精华).ppt

    <C语言课件完整版(精华).ppt>由会员分享,可在线阅读,更多相关<C语言课件完整版(精华).ppt(484页珍藏版)>请在人人文库网上搜索. 1.1,计算机程序设计基础(C ...

  5. 数码管在c语言中显示时间,如何利用单片机数码管程序模拟是时钟显示时间?...

    数码管是一种半导体发光器件,其基本单元是发光二极管.数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)这个小数点可以更精确的表示数码管想要 ...

  6. C语言辅导试题,c语言程序的设计辅导试题.doc

    c语言程序的设计辅导试题 一.单项选择题: 1.以下叙述正确的是:A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编 ...

  7. C语言过河问题主函数,c,c++_C语言踩石头过河问题,用DFS搜索递归了17万次但是没报错,请问是什么原因?,c,c++,算法 - phpStudy...

    C语言踩石头过河问题,用DFS搜索递归了17万次但是没报错,请问是什么原因? 这是原题目,后面附上我的代码,刚刚接触DFS,不是很熟练,求教育--谢谢!!!TUT 这是题目,我大概概括一下 用'※'和 ...

  8. python做的数据图表怎么在flask中显示_Python:如何在Flask应用程序的表中显示MySQL查询的数据...

    我对Python/flask还比较陌生,有些数据库方面的东西也有问题. 我能够在不同的函数中连接到MySQL数据库,并从使用wtforms插入数据库的用户那里获得表单输入.现在我想使用jinja模板以 ...

  9. 如何写一个能被手机打开的C语言小程序,如何用C语言中一些简单的语句做一个小程序,能够输入一个字符就会弹出一句话...

    满意答案 lyj1260 2015.03.28 采纳率:43%    等级:11 已帮助:6408人 这个不难,是最基本的C语言程序了,我写个示例给你 #include //包含头 int main( ...

最新文章

  1. 降维-基于RDD的API
  2. 使用Mysql ID自增长时 在Mapper的insert里添加对应的代码
  3. 几款开源富文本编辑器优缺点比较
  4. 网络光端机产品特点及实际应用范围详解
  5. php函数、类和对象以及类的封装、继承、类的静态方法、静态属性
  6. Flink读取Kafka报错:KafkaException ByteArrayDeserializer is not an instance Deserializer
  7. 谁说 JavaScript 简单的?
  8. html怎么在jupyter编辑,jupyter home jupyter环境变量怎么设定
  9. 【POJ 2482】【扫描线问题】Stars in Your Window【包星星问题】
  10. 【教程】Edraw Max使用教程:Edraw Max快速入门指南
  11. 000001 Kick off
  12. C语言中fflush()、fflush(stdin)、fflush(stdout)
  13. android终端模拟器运行命令可以进行adb connect
  14. ShaderJoy —— 用 Shader 绘制一只可爱的 “小挠斧” (详细版)【GLSL】
  15. [转]Google Dremel 原理 - 如何能3秒分析1PB
  16. 黑客盗走《加勒比海盗5》片源?原来是空手套白狼
  17. http请求头中的host是什么意思
  18. Python中使用GoogleMaps API(包含Geocoding API,Places API Web Service )详细教程
  19. 哪些Python技术助力人工智能发展
  20. C# 连接PDA扫码枪

热门文章

  1. 轻松构建网络负载平衡群集(组图)
  2. 微信中不能直接下载APP(iOS/Android)的解决方案
  3. 数码相机的照片用计算机处理,作业数码相机的使用与维护
  4. 线程与进程、Android多线程编程
  5. WC 2011 joy
  6. Ubuntu 22.04 使用GoldenDict实现整段翻译
  7. Ofbiz 入门教程
  8. MATLAB | 官方自带的绘图代码生成功能咋用
  9. 当前物联网应用中,边缘计算还存在这些问题!
  10. 资料随意收集(1):Lotus Notes常见问题解决办法(实用--转帖)