课程设计报告--万年历设计

上传人:桔**** 文档编号:498217201 上传时间:2022-09-15 格式:DOC 页数:33 大小:90.50KB
返回 下载 相关 举报
课程设计报告--万年历设计_第1页
第1页 / 共33页
课程设计报告--万年历设计_第2页
第2页 / 共33页
课程设计报告--万年历设计_第3页
第3页 / 共33页
课程设计报告--万年历设计_第4页
第4页 / 共33页
课程设计报告--万年历设计_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《课程设计报告--万年历设计》由会员分享,可在线阅读,更多相关《课程设计报告--万年历设计(33页珍藏版)》请在金锄头文库上搜索。

1、-*实践教学* 理工大学计算机与通信学院2021年秋季学期 面向对象 课程设计题 目: 万年历的设计 专业班级: 姓 名: 学 号: 指导教师: 成 绩: . z-序言?面向对象的程序设计?是计算机专业一门重要的专业根底课。此次课程设计的目的是以面向对象程序设计语言为根底,通过完成一些具有一定难度的课程设计题目的编写、调试、运行工作,进一步掌握面向过程和面向对象程序设计的根本方法和编程技巧,稳固所学理论知识,使理论与实际相结合。从而提高自我分析问题、解决问题的能力。通过课程设计,学生在下述各方面的能力应该得到锻炼:1进一步稳固、加深学生所学专业课程?C+语言程序设计?的根本理论知识,理论联系实

2、际,进一步培养学生综合分析问题、解决问题的能力。2全面考核学生所掌握的根本理论知识及其实际业务能力,从而到达提高学生素质的最终目的。3利用所学知识,开发小型应用系统,掌握运用C+语言编写调试应用系统程序,训练独立开发应用系统,进展数据处理的综合能力。4对于给定的设计题目,如何进展分析,理清思路,并给出相应的数学模型。 5掌握面向对象的程序设计方法。6进一步掌握在集成环境下如何调试程序、修改程序和程序的测试。目录摘要2第一章系统总体设计3一理论说明3二流程图说明41总体流程说明图42局部流程说明图4第二章系统详细设计7一主要组成局部7二源程序9第三章系统测试34四软件使用说明书40一系统运行环境

3、40二系统操作提示40总结41参考文献42致42摘 要万年历作为日常中的小工具,具有多方面的功能,能有效帮助人们记录以及计算时间,在极大程度上帮助人们在日期以及时间方面有最直观的表达。该设计通过C+的根本知识和技能设计出一个万年历程序,该程序需实现 时间和日期的显示以及计算。一.实现提供时、分、秒组成的时间,并提供时间增加的方法按秒;二.实现记录年、月、日的过程,并提供日期增加的方法按天;三.通过上述两项,设计出除除具有年、月、日、时、分、秒外,还增加国名和与格林威治时间的差;四. 输入年、月、日、时、分、秒,在屏幕上模拟显示一电子计时器,不断输出下一秒的时间和日期,以及格林威治的日期和时间。

4、该设计不仅表达了普通日历的功能,还参加了电子计时器的局部,使得万年历在原本的根底上有了更大的扩大。关键字:时间,日期,格林威治时间差,电子计时器第一章 系统总体设计一理论说明 关于万年历的根本要求,须表达时间,日期等,所以,定义时间类time,日期类date,完成关于年year,月month,日day,时hour,分minute,秒second的定义。1 在计算时间的时候,每到达1秒的时候对second进展加1,然后判断是否到达60秒,到达的话minute就加1,minute到达60hour就加一,同样的方法对hour、day、month和year进展计算。2在计算日期的时候,在对day计数时

5、,考虑到大小月和闰年,对day进展加1时,判断是哪一月和是否为闰年。在确定年、月、日之后,使用函数Week()进展对星期几的计算,根据1901年每月1号是星期几可以得出现在是星期几。在这个程序中,还使用了一个对话框类,使用对话框来对时间日期的设置。在菜单栏里添加一个“设置时间的选项和一个菜单消息,当点击这个选项就会弹出设置时间日期的对话框,对话框中编辑控件设定了每个值的取值围,从而对输入错误进展排除。二流程图说明1总体流程说明图万年历模拟计算退出系统信息输入万年历系统 图一2局部流程说明图1输入年份完毕365天366天 28天 29天天闰年否是二月天数是全年天数图二2 判断年份情况完成日期的定

6、义以及增加方式完成时间的定义以及增加方式日期类date时间类timeDatetime完成电子时钟的模拟定义week()输出日期的星期数计算两日期相差天数定义situation() 打印结果图三另:在本程序中共用到三个类,定义时间的time类,定义日期的date类,以及公有继承了time和date的datetime类,此派生类的作用是定义电子时钟的运行方式。在程序中还运用到一些独立的函数,以实现星期以及格林威治时间差等功能。二、系统详细设计1. 主要组成局部该程序主要为了实现日期和时间的显示以及格林威治时间差的计算结果,其中功能时间的显示使用类datetime来实现,功能时差的计算使用类time

7、和类date来实现。下面分别介绍类time,date的详细设计。时间类time的具体实现流程:先声明后定义,类time定义为时间基类,其中:成员函数time()主要功能为时分秒赋初值,实现方式为:函数定义成员函数int gethour()return hour;int getminute()return minute;int getsecond()return second;返回时分秒的值;成员函数void sethour(int nhour)hour=nhour;void setminute(int nminute)minute=nminute;void setsecond(int nsec

8、ond)second=nsecond;成员函数time主要功能为在撤销对象占有的存之前完成清理工作释放存,实现方式为:,通过对象调用析构函数完成清理工作。类time具体实现流程为:class timeprivate:int hour;int minute;int second;public:time();time(int nhour,int nminute,int nsecond);time(time &c);time();int gethour()return hour;int getminute()return minute;int getsecond()return second;voi

9、d sethour(int nhour)hour=nhour;void setminute(int nminute)minute=nminute;void setsecond(int nsecond)second=nsecond;类date定义为:描述日期的基类其中:成员函数int getyear()return year;int getmonth()return month;int getday()return day; string getweek() return week;主要功能为返回年月日的值,实现方式为:调用成员函数成员函数void setyear(int nyear)year=

10、nyear;void setmonth(int nmonth)month=nmonth;void setday(int nday)day=nday;void setweek(string c)week=c;主要功能为给私有数据成员赋值,实现方式为通过调用析构函数实现。类datetime公开继承类time和类date的属性,实现电子时钟的功能,完成时间由秒自增的过程。定义函数week,以及situation,完成日期对应星期数以及时间差的计算过程,完善电子时钟以及万年历的功能。2. 源程序*include*include*include*includeusing namespace std;in

11、t mon13=0,31,28,31,30,31,30,31,31,30,31,30,31; bool isleapyear(int year)/判断是否是闰年return (year%4=0 & year%100!=0)|(year%400=0); int mon_day(int year ,int month)/判断月份对应的天数 if (isleapyear(year)&month=2) return 29; else return monmonth; int getyearday(int year)/返回一年天数 if(isleapyear(year) return 366; else

12、 return 365; class timeprivate:int hour;int minute;int second;public:time();time(int nhour,int nminute,int nsecond);time(time &c);time();int gethour()return hour;int getminute()return minute;int getsecond()return second;void sethour(int nhour)hour=nhour;void setminute(int nminute)minute=nminute;void

13、 setsecond(int nsecond)second=nsecond;class dateprivate:int year;int month;int day; string week;public:date();date(int y,int m,int d);date(date &t);date();int getyear()return year;int getmonth()return month; int getday()return day;string getweek() return week;void setyear(int nyear)year=nyear;void setmonth(int nmonth)month=nmonth;void setday(int nday)day=nday;void setweek(string c)week=c; void reset(int y=0,int m=0,int d=0);date operator +(const date &t);date operator -(const date &t

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号