C++课程设计日期类的编制.doc
《C++课程设计日期类的编制.doc》由会员分享,可在线阅读,更多相关《C++课程设计日期类的编制.doc(18页珍藏版)》请在三一办公上搜索。
1、辽 宁 工 业 大 学C+语言程序设计课程设计(论文)题目: 日期类的编制 院(系): 软 件 学 院 专业班级: 软件工程133班 学 号: 101301065 学生姓名: 指导教师: 教师职称: 讲 师 起止时间:2013.12.20-2013.12.31课程设计(论文)任务及评语院(系):软件学院 教研室:软件教研室学 号m学生姓名专业班级133班课程设计(论文)题目日期类的编制课程设计(论文)任务(1). 掌握面向对象程序设计语言C+的基本语法(2). 掌握C+面向对象设计的思想(3). 掌握VC+6.0与DEV C+ 开发工具的使用 (4). 运用标准C+规范设计应用程序设计过程中,
2、要严格遵守设计的时间安排,听从指导教师的指导。正确地完成上述内容,规范完整地撰写出设计报告。指导教师评语及成绩成绩: 指导教师签字: 年 月 日目 录第1章课程设计目的与要求11.1 课程设计目的11.2 课程设计的实验环境11.3 课程设计的预备知识11.4 课程设计要求1第2章课程设计内容22.1 C+语言程序设计-日期类的编制问题分析。22.1.1 功能分析22.1.2 算法设计及程序设计中技术重点22.2 程序中涉及的类的UML类图和主要函数流程图或框图。52.2.1 系统UML类图52.2.2程序流程图62.2.3系统流程图62.2.4将指定日期转换为从0年0月0日起的天数72.2.
3、5判断指定的年份是否为闰年72.3 程序源代码8第3章课程设计总结14参考文献15第1章 课程设计目的与要求1.1 课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程C+语言教程的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C+语言编
4、写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握面向对象程序设计的方法。(6)熟练掌握C+语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。1.2 课程设计的实验环境硬件要求能运行Windows 操作系统的微机系统。C+语言应用程序开发软件使用:VC+ 系统,或其他C+语言应用程序开发软件。1.3 课程设计的预备知识熟悉C+语言程序设计的基本知识及VC+编辑器的使用方法。织梦仿站知识大全1.4 课程设计要求1.
5、 仔细分析设计题目,画出程序流程图,编写程序源代码。2. 积极上机调试源程序,增强编程技巧与调程能力。3. 认真书写课程设计预习报告,课程设计说明书。4. 遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计内容第2章 课程设计内容2.1 C+语言程序设计-日期类的编制问题分析。日期类的编制电子万年历在生活中是经常可一看到的,比如当你使用手中的计算机时,双击屏幕右下方,一个日历就会跳出,上面显示当前年、月下该月的日期与星期的具体关系问题。当你手中拿着一个文曲星之类电子词典时,首先映入眼帘的也是一个电子日期。你可以感觉到如果有一个电子日期在手头,那么工作、学习就可以
6、方便一些了,至少用不着为了查看本周的日期分布而到处奔波了。2.1.1 功能分析测试日期类成员函数,在主函数中列出菜单选项,可以完成日期的加法比较等测试功能。织梦知识库万年历算星期几 只要随便说出公元几几年几月几日就可以马上算出是星期几。 只要计算出日的代码,月份代码,年份代码。三个加起来除以七的余数就是星期几。完善程序功能,在日期相加的菜单选项中增加日期加天数,结果为新日期;日期加月份,结果为新日期,要考虑闰年的情况。显示日期时增加显示星期及英文形式的月份的功能。增加输入的甄别功能,即输入非发数据(如负数、日期超过31天、时间超过24小时等情况)的识别显示功能。编制主函数 main() 完成函
7、数调用过程。程序中所涉及C语言内容包括:C语言编译预处理过程、函数、数组、结构化程序设计等相关内容。2.1.2 算法设计及程序设计中技术重点计算设计:日的代码计算:日的代码最简单,就是它本身,是几号就是几。月份代码计算:月份代码也很简单,下面有十二个数:144725736146,分别代表一至十二月份每个月的代码。比如,九月份的代码为6。(据姚江啸介绍,他是用逆推的方法,计算出这12个月份代码的,即知道某年某月某日是星期几,反过来推算月份代码。)年份代码计算:年份代码相对比较复杂,先记住2000年对应的年份代码是4,这是基础代码,牢记即可。假如大于2000年,比如2010年,则对应的年份代码是(
8、20102000)/4=22,再用基数代码4减去2倍的商加上余数再加1。即42*2+2+1=3,则2010年对应的年份代码为3。如果没有余数,即润年,则余数后面的1也不用加。比如2008年,对应的年份代码为0。假如小于2000年,比如1991年,则对应的年份代码是(20001991)/4=21,再用基数代码4加上2倍的商减去余数。 即4+2*21=7,则1991年对应的年份代码为7。再记住1个特殊情况,即润年的3到12月份到最后要加1。 举个例子吧,比如1992年8月27日。则(20001992)/2=20,再4+2*20=8,年份代码计算结果为8,加上8月份的代码3,再加上日的代码27,因为
9、是润年,所以还要加1,等于39。再除以七的余数为4,则这一天为星期四。Setday()函数用于设置日期,setmonth()函数用于设置月份,setyear()函数用于设置年份。Getday()函数用于输出日期,getmonth()函数用于输出月份,getyear()用于输出年份。易语言教程Date operator+(int days)对日期类重载运算符 +,日期型数据 加上一个整数Date operator-(int days)对日期类重载运算符 - ,日期型数据减一个整数int operator-(Date &b)对日期类重载运算符 -,对应两个日期型数据相减void disp()显示当
10、前日期函数Date(int y,int m,int d)构造函数对日期进行初始化dton(Date &d)将指定日期转换为从0年0月0日起的天数dtow(Date &d)将指定日期转换为星期几在取系统时间然后在countdays()函数里判断是否为闰年,判断闰年算法为如果年份被400整除或者可被100和4整除的话为闰年。用month()函数里的switch语句来控制每个月应该拥有的实际天数。技术重点:1.类的成员函数描述的是类的行为,例如时钟类的成员函数SetTime()和ShowTime()。成员函数是程序算法的实现部分,是对封装的数据进行操作的方法。2. 运算符重载是对已有的运算符赋予多重
11、含义,使同一个运算符作用于不同类型的数据时导致不同的行为。一个操作符,其实是一个函数,这种函数的调用语法和普通函数不同。3. 封装就是将抽象得到得数据和行为相结合,形成一个有机地结合,形成“类”,其中的数据和函数都是类得成员。定义一个类将类中成员函数和数据的实现细节隐藏起来,意味着类的实现细节对于使用该类的编程人员来说是不可见的。为了实现这一功能,引用私有成员概念,一旦交同,除了在类的成员函数中,在其他任何地方都不能改变私有成员变量的值,也不能引用该成员变量。意味着编译器强行隐藏了类中数据的实现细节。4.课题功能描述给出某年显示该年的年日历。 5.问题详细描述随意给出某年(如2007年),可以
12、显示该年的年日历(包括每月的天数和所对应的星期几),并且在每月的左上角或右上角打印出相应的年份和月份,要求输出界面尽可能整齐、美观,符合日历显示规范。 6.问题的解决方案:根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。 1)找到一个基点,例如从公元01年的第一天开始考虑(01年1月1日对应星期判断从01年至该年以前的年份是否闰年,以计算从01年至该年开始的总天数。 2)注意每月的天数不同,并且二月份又有两种情况:是闰年和不是闰年的情况。 3)为了将每月的日期和星期相对应,用从显示月份开始的总天数除7取余,控制日期和星期几的对应关系。7.主要技术问题的描述根据三的分析,主要问题在于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 日期 编制
链接地址:https://www.31ppt.com/p-2384431.html