第三周实验报告(任务3)
2012-03-08 21:38
274 查看
要求:请在原类基础上,增加下列成员函数,要求前三个设计成内置函数,在main()数中增加适当的调用以展示扩充类定义后的功能(最好能一次运行)。
add_a_sec() //增加1秒钟
add_a_minute() //增加1分钟
add_an_hour() //增加1小时
add_seconds(int) //增加n秒钟
add_minutes(int) //增加n分钟
add_hours(int) //增加n小时
提示:要考虑增加后超出取值范围的情形
源程序:
运行结果:
add_a_sec() //增加1秒钟
add_a_minute() //增加1分钟
add_an_hour() //增加1小时
add_seconds(int) //增加n秒钟
add_minutes(int) //增加n分钟
add_hours(int) //增加n小时
提示:要考虑增加后超出取值范围的情形
源程序:
#include<iostream> using namespace std; class Time { public: void set_time(); void show_time(); inline void add_a_sec(); //增加1秒 inline void add_a_minute(); //增加1分 inline void add_an_hour(); //增加1小时 void add_seconds(int); //增加n秒钟 void add_minutes(int); //增加n分钟 void add_hours(int); //增加n小时 private: bool is_time(int, int, int); int hour; int minute; int sec; }; int main() { Time t1; Time &t2 = t1; t1.set_time(); cout << "现在时间:"; t2.show_time(); t1.add_a_sec(); cout << "增加1秒后:"; t2.show_time(); t1.add_a_minute(); cout << "增加1分后:"; t2.show_time(); t1.add_an_hour(); cout << "增加一小时后:"; t2.show_time(); t1.add_seconds(125); cout << "增加125秒后:" ; t2.show_time(); t1.add_minutes(75); cout << "增加75分后:"; t2.show_time(); t1.add_hours(32); cout << "增加32小时后:"; t2.show_time(); return 0; } void Time::set_time( ) { char c1, c2; cout<< "请输入时间(格式hh:mm:ss)" << endl;; while(1) { cin >> hour >> c1 >> minute >> c2 >> sec; if(c1 != ':'||c2 !=':') cout<< "格式不正确,请重新输入" <<endl; else if (!is_time(hour,minute,sec)) cout<< "时间非法,请重新输入" <<endl; else break; } } void Time::show_time( ) { cout<< hour << ":" << minute << ":" << sec << endl; } bool Time::is_time(int h,int m, int s) { if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60) return false; return true; } void Time::add_a_sec() { ++sec; if(sec > 59) add_a_minute(); } void Time::add_a_minute() { ++minute; if(minute > 59) add_an_hour(); } void Time::add_an_hour() { ++hour; if(hour > 23) hour = 0; //到第二天 } void Time::add_seconds(int n) { sec+=n; if (sec>59) { add_minutes(sec/60); sec = sec % 60; } } void Time::add_minutes(int n) { minute+=n; if (minute>59) { add_hours(minute/60); minute = minute % 60; } } void Time::add_hours(int n) { hour+=n; if (hour>23) hour = hour % 24; }
运行结果:
![](http://hi.csdn.net/attachment/201203/8/0_133121409045T1.gif)
相关文章推荐
- 第三周实验报告任务3(输入一个时间并增加时分秒)
- 第三周实验报告(任务一)
- 第三周实验报告(任务4)
- 《第三周实验报告任务1》
- 《第三周实验报告任务4》
- 第三周实验报告(任务二)
- C++程序设计实验报告(三十一)---第三周任务一
- 《第三周实验报告任务2》
- 第三周实验报告(任务1)
- C++程序设计实验报告(三十二)---第三周任务二
- 第三周实验报告(任务2)
- C++程序设计实验报告(三十三)---第三周任务三
- 《第三周实验报告任务3》
- 第三周实验报告(任务三)
- C++程序设计实验报告(三十四)---第三周任务四
- 第三周实验报告 任务2
- 第三周实验报告任务 3
- C++第三周【任务2】在实验报告改错,在改动处加注释说明理由
- (第三周实验报告任务2)找错误
- 第三周实验报告 任务四