万年历程序《面向对象程序设计》课程设计.doc
《万年历程序《面向对象程序设计》课程设计.doc》由会员分享,可在线阅读,更多相关《万年历程序《面向对象程序设计》课程设计.doc(17页珍藏版)》请在沃文网上搜索。
1、 面向对象程序设计C+ 课程设计实验报告 - 17 -目 录第1章 选 题21.1 题目背景21.2系统实现的具体分工21.2.1选题21.2.2团队分工21.3开发环境2第2章 设计内容32.1实现功能32.2 概要设计(涉及类的框图)32.3 界面设计3第3章 系统实现43.1 涉及知识点43.2 系统运行(主要运行界面抓图)43.3 源程序清单(关键代码)5第4章 测试与实验结果13第5章 结束语17参考文献17第1章 选 题1.1 题目背景C+教学起步的背景1996年,国外计算机产业界正在全面兴起面向对象编程的设计与热潮,其主要工具就是C+。C+在数据类型的安全上,弥补了C的不足,克服
2、了C的种种安隐患,用C+开发的产品正在稳步上市,并开始超过了C。C+的开发工具正在稳步推出,在windows环境下的主要C+开发工具Microsoft Visual C+6.0标志着C+开发工具已经成熟。随着科技的迅猛发展,在快节奏的工作于生活中,时间与我们每个人都有非常密切的关系,每个人都受时间影响着,我们必须对时间有一个准确而又方便的度量,因此我们设计了万年历。该万年历能够实现时间日期的运行,显示阳历的年、月、日、星期等信息。1.2系统实现的具体分工1.2.1 选题系统分为日历类(calendar)和三大功能模块,功能一(print_y()输出整年的日历;功能二(print_m())输出某
3、年具体的月份;功能三(print_d())输出具体的某年某月某日是星期几1.2.2 团队分工表1.1 项目分工一览表角色姓名承担的具体任务组长(1)类的定义与分析(2)功能1: 输入一个年份能够把这一年的日期打印出来。组员 (1)功能2:输入一个月份能够把该月的情况输出出来。(2)功能3:输入具体的一天能够输出该天是星期几。1.3开发环境编程工具:Visual C+ 6.0机型:方正电脑处理器名称:Intel(R)Core(TM)2 Duo CPU E7200 2.53GHz硬盘驱动器:WDC WD1600AAJS-22WAAO系统内存:金士顿内存2GB显示卡:NVIDIA GeFORCE 9
4、400 GT显示器:方正科技FG981-W9操作系统:Microsoft Windows XP Professional第2章 设计内容2.1实现功能1、输入一个年份能够把这一年的日期打印出来。2、输入一个月份能够把该月的情况输出出来。3、输入具体的一天能够输出该天是星期几。2.2 概要设计(涉及类的框图) 2.3 界面设计界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。结构设计也称概念设计 (Conceptual Design),是界面设计的骨架。该万年历系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目录体系包括1.年份查询;2.月历查询;3.退出。月份查
5、询里下设:1.查询月历;2.查询日期。第3章 系统实现3.1 涉及知识点类封装、面向对象程序设计、数组的应用、循环语句的使用、过程化设计的思想等。3.2 系统运行(主要运行界面抓图) 系统主界面 查询月历界面查询日期界面3.3 源程序清单(关键代码)#include#include#include#includeclass CDateTimeprivate: int year; int month; int days; int wday; /星期private: int YearToDays(int y); int DatesToDays(); int MonthToWeek(); int Y
6、earMonthToDay( int y,int m); public: CDateTime(int y=0,int m=0,int d=0) year=y; month=m; days=d; wday=DatesToWeek(); CDateTime() void Now(); int DatesToWeek(); void LastTime(); void InputYearMonth(); void PrintMonth(); void InputDates(); int Week() return wday; friend ostream & operator1900) if(y-1)
7、% 4 =0 & (y-1) % 100 != 0 | (y-1) % 400 = 0) +d; -y; return(d+i); int CDateTime:YearMonthToDay(int y,int m ) int mday=0; switch(m) case 1: case 3: case 5: case 7: case 8: case 10: case 12: mday=31; break; case 2: if(y % 4 =0 & y % 100 != 0 | y % 400 = 0) mday=29; else mday=28; break; case 4: case 6:
8、 case 9: case 11: mday=30; break; default: mday=0; return mday;int CDateTime:DatesToDays( ) int total = 0; while( month 1) total += YearMonthToDay(year ,month-1); -month; int num = YearToDays( year); return (total +num +days);int CDateTime:DatesToWeek()/判断该日为星期几 int w = DatesToDays(); return (w%7);
9、void CDateTime:LastTime()void CDateTime:InputDates() cout输入年:year; cout输入月:month; while( month 12) cout重新输入月:month; cout输入天days;void CDateTime:InputYearMonth() cout输入年:year; cout输入月:month; while( month 12) cout重新输入月:month; int CDateTime:MonthToWeek( ) int t = DatesToDays( ); return (t-days)%7;void C
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 万年历 程序 面向 对象 程序设计 课程设计