实验报告 实验一类与对象

太原工业学院计算机工程系

实 验 报 告

课程名称 姓 名 实验名称 实 验 目 的 及 要 求 实 验 环 境 C++程序设计 汪智 班级 学号 1120541 112054141 实验日期 实验成绩 类与对象 1.掌握类的定义,根据具体需求设计类 2.深入理解C++中类的封装性。 3.会根据类创建各种对象 4.掌握对象的各种成员的使用方法。 软件环境:Microsoft Visual C++ 6.0 实 验 内 容 定义一个满足如下要求的Date类。 1.用下面的格式输出日期:日/月/年 2. 可运行在当前日上加一天操作 3. 设置日期。 定义Date类,在类中,以SetDay()函数设置日期,以AddOneDay()函数用Leagl()的算法公式来实现在当前日期上加一天的目的。 算 法 描 述 及 实 验 步 骤 void Date::AddOneDay() { if(Legal(year,month,day+1)) day++; else if(Legal(year,month+1,1)) month++,day=1; else if(Legal(year+1,1,1)) day=1,month=1,year++; } bool Date::Legal(int y, int m, int d) { if(y>9999||y<1||d<1||m<1||m>12) return false; int dayLimit=31; switch(m) case 4: case 6: case 9: case 11: dayLimit--; if(m==2) dayLimit = IsLeapYear(y) ? 29 : 28; return (d>dayLimit)? false : true; } bool Date::IsLeapYear(int y) { return !(y%4)&&(y0)||!(y@0); } 调 试 过 程 及 实 验 结 果 调试过程中出现的问题: 1、缺少一个头文件是system()函数无法调用; 2、main()函数类型用的是int,但没有加返回值。 解决方法: 1、在预处理处加上头文件; 2、在main()内最后加上返回值“return 0;”,或者将函数返回类型int改为void。 实验结果: 总 结 实验结果与实验要求及实验内容相符,达到预期效果。 实验中应该注重细节,耐心寻找问题。 要有算法的整体思想,构建完整工程。 附 录 #include #include class Date { public: void Display(); void AddOneDay(); void SetDay(int y,int m,int d); protected: bool Legal(int y, int m, int d); bool IsLeapYear(int y); int year; int month; int day; }; void Date::Display() { cout <9999||y<1||d<1||m<1||m>12) return false; int dayLimit=31; switch(m) case 4: case 6: case 9: case 11: dayLimit--; if(m==2) dayLimit = IsLeapYear(y) ? 29 : 28; return (d>dayLimit)? false : true; } bool Date::IsLeapYear(int y) { return !(y%4)&&(y0)||!(y@0); } int main() { Date d; d.SetDay(2010,2,28); d.Display(); d.AddOneDay(); d.Display(); system(\return 0; }

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4