第三周实验报告(任务3)
来源:互联网 发布:分布估计算法代码 编辑:程序博客网 时间:2024/09/21 09:05
要求:请在原类基础上,增加下列成员函数,要求前三个设计成内置函数,在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小时
提示:要考虑增加后超出取值范围的情形
源程序:
#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; }
运行结果:
- 第三周实验报告(任务3)
- 《第三周实验报告任务3》
- 第三周实验报告任务 3
- 第三周实验报告(任务2)
- 第三周实验报告(任务1)
- 第三周实验报告(任务2)
- 第三周实验报告(任务一)
- 第三周实验报告(任务二)
- 第三周实验报告(任务4)
- 第三周实验报告(任务三)
- C++程序设计实验报告(三十一)---第三周任务一
- C++程序设计实验报告(三十二)---第三周任务二
- C++程序设计实验报告(三十三)---第三周任务三
- C++程序设计实验报告(三十四)---第三周任务四
- (第三周实验报告任务2)找错误
- 《第三周实验报告任务1》
- 《第三周实验报告任务2》
- 《第三周实验报告任务4》
- linux内存模型之buddy(伙伴)系统二分配与释放
- struts2中后缀名.action的更改以及何时该加后缀名,何时不用加
- Android开发环境搭建
- 图形用户界面
- MFC添加用户自定义消息
- 第三周实验报告(任务3)
- .net下作业调度实战[quartz]
- Java 变量,数据类型的转换,若干算术运算符
- JS+COOKIE购物车
- Ubuntu增加swap交换空间
- nginx 服务器在windows下安装
- fedora 16安装 chrome
- 反转字符串中的单词
- windows phone 7 instance: ruler