shangyue025的专栏

问题及代码:

/**Copyright (c)2014,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:test.cpp*作 者:尚 月*完成日期:2015年03月17日*版 本 号:v1.0**问题描述:在类内增加下列成员函数(将是内置成员函数)* add_a_sec()//增加n秒钟add_a_minute() //增加n分钟add_a_hour()//增加n小时*/#include <iostream>using namespace std;class Time{public:void set_time();void show_time();void addsec(int);void addminute(int);void addhour(int);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<<"格式不正确,请重新输入"<<endl;else if(!is_time(hour,minute,sec))cout<<"时间非法,,请重新输入"<<endl;elsebreak;}}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::addsec(int n){int s;sec+=n;if(sec>59){s=sec/60;sec=sec-60*s;addminute(s);}}void Time::addminute(int n){int s;minute+=n;if(minute>59){s=minute/60;minute=minute-s*60;addhour(s);}}void Time::addhour(int n){int s;hour+=n;if(hour>23){s=hour/24;hour=hour-s*24;}}int main(){ int n1,n2,n3;Time t1;t1.set_time();cout<<"现在的时间是:";t1.show_time();cin>>n1;t1.addsec(n1);cout<<"增加n秒后的时间是:";t1.show_time();cin>>n2;t1.addminute(n2);cout<<"增加n分钟后的时间是: ";t1.show_time();cin>>n3;t1.addhour(n3);cout<<"增加n小时后的时间是:" ;t1.show_time();return 0;}

运行结果:

总结:要区分开输入时、分、秒的n表示的数,我就犯了这么低级的错误~~~~

当爱丽思丢失了通往仙境的钥匙,

shangyue025的专栏

相关文章:

你感兴趣的文章:

标签云: