万年历系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息科学与技术学院

程序设计基础课程设计报告

题目名称:万年历系统

学生姓名:徐波波

学号: 2011508020 专业班级:

指导教师:

2012年 7 月 1 日

系统万年历的设计

目录

1课程设计目的及要求 (1)

1.1课程设计目的 (1)

1.2课程设计要求 (1)

2课题总体设计 (1)

2.1 系统需求分析 (1)

2.2系统功能描述 (1)

2.3系统功能模块图 (2)

2.4系统流程图 (2)

3课题总体设计 (3)

3.1 概念设计 (3)

3.2 逻辑设计 (3)

3.3 物理设计 (3)

4详细设计 (3)

4.1 isRunNian()模块设计 (3)

4.2 printWN()模块设计 (5)

4.3 主函数main()模块设计 (6)

5调试与测试 (6)

6小结 (10)

参考文献 (11)

附录 (12)

附录1 源程序清单 (12)

程序实践报告(2010)

万年历系统的设计

1 课程设计目的及要求

1.1 课程设计目的

1、巩固并加深对C语言程序设计知识的理解;

2、掌握和提高C语言编程和程序的基本调试的基本技能;

3、进一步理解和运用结构化程序的思想和方法;

4、提高运用C语言解决实际问题的能力;

5、初步掌握开发小型实用软件的基本方法;

6、掌握书写程序设计开发文档的能力。

1.2课程设计要求

1、根据分组情况对规定的课程设计题目要求进行分析、设计;

2、利用Turbo C 独立编写程序代码,并调试程序使其能正确运行;

3、源程序要有适当的注释,使程序容易阅读;

4、设计完成的软件要便于操作和实用,至少采用文本菜单界面鼓励学生自动增加

新功能模块;

5、完成并提交课程设计报告,具体要求见相关说明文档。

2课题总体设计

1.、当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几);

2、当系统日期变到下一个月时,系统自动翻页到下一月。

2.1 系统需求分析

a. 使用图形用户界面;

b.本程序能过模仿现实生活中的挂历。

2.2系统功能描述

1)当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几);

2)当系统日期变到下一个月时,系统自动翻页到下一月。

系统万年历的设计2.3系统功能模块图

图1-1 系统功能模块图

2.4系统流程图

图1-2 系统流程图

程序实践报告(2010)

3课题总体设计

3.1概念设计

对用户要求描述的现实世界,通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。

概念设计的最终目的是要确定这一程序的功能达到预想的效果,所以自己的设计想法要清晰,准确的表达出来。在进行概念设计时不拘泥小节,着重于它所能体现出的功能效果,大概的写出设计代码,然后在一一补充,使其完美。

3.2逻辑设计

主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。

根据设计实践任务书以及所开发的环境,利用这些信息获取,分析需求,优化解决方案。使得所设计的代码达到所应具有的功能,即使万年历系统具有现实中挂历的作用。

3.3物理设计

根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。

根据开发环境和逻辑对象,数具实体的关系中进一步整理和细化得到的设计方案,即进一步的细化万年历系统的设计代码,明确其所应具有的功能。还要考虑到实现的可能性和最终系统的性能。具体每个模块的实现算法

4详细设计

4.1 isRunNian()模块设计

系统万年历的设计

图1-3 isRunNian()函数模块设计图

模块说明:若该年不是闰年,则输出0,相反则输出1;

设年数为X,先判断X能否被4整除,若不能则输出0;

若能整除,则判断X能否被100整除,若不能则输出1;

若能整除,则判断X能否被400整除,若不能则输出0,若能则

输出1。

程序实践报告(2010)

4.2 printWN()模块设计

图1-4 printWN()模块设计图

模块说明:判断系统月份,以月份为主,三十一天的有一月,三月,五月,七月,八月,十月,十二月;

三十天的有四月,六月,九月,十一月。若是闰年,则二月为二十九天,不是,则为二十八天。

相关文档
最新文档