输入代码:
/* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:sum123.cpp *作 者:林海云 *完成日期:2015年3月17日 *版 本 号:v2.0 * *问题描述:阅读、运行程序后,按要求扩充类的功能,请在原类基础上,在类内增加下列成员函数(将是内置成员函数) add_a_sec() //增加c秒钟 add_a_minute() //增加b分钟 add_an_hour() //增加a小时 在main()数中,调用新增加的成员函数,以测试扩充后的功能。 *程序输入:时间。 *程序输出:改变后的时间。 */ #include<iostream> using namespace std; class Time { public : void set_time(); void showtime(); void add_a_sec(int n); void add_a_minute(int n ); void add_an_hour(int n); private : bool is_time(int, int, int); int hour; int minute; int sec; }; void Time::set_time() { char c1,c2; cout<<"请输入正确的时间格式(hh:mm:ss):"; while(1) { cin>>hour>>c1>>minute>>c2>>sec; if(c1!=':'||c2!=':') cout<<"输入的时间格式不正确,请重新输入:"; else if(!is_time(hour,minute,sec)) cout<<"输入的时间非法,请重新输入:"; else break; } } 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 ; else return true; } void Time::showtime() { cout<<hour<<":"<<minute<<":"<<sec<<endl; } void Time::add_a_sec(int n) { sec+=n; if(sec>59) { add_a_minute(sec/60); sec=sec%60; } } void Time::add_a_minute(int n) { minute+=n; if(minute>59) { add_an_hour(minute/60); minute=minute%60; } } void Time::add_an_hour(int n) { hour+=n; if(hour>24) hour=hour%24; } int main() { Time t; int a,b,c; t.set_time(); cout<<"请输入您要增加的时,分,秒数:"; cin>>a>>b>>c; t.add_a_sec(c); t.add_a_minute(b); t.add_an_hour(a); cout<<"增加改变后的时间是:"; t.showtime(); return 0; }
运行结果:
原文地址:http://blog.csdn.net/linhaiyun_ytdx/article/details/44339389