第5周项目3—时间类(2)

来源:互联网 发布:网络销售授权书模板 编辑:程序博客网 时间:2024/06/02 10:31
/**Copyright(c) 2016.烟台大学计算机与控制工程学院*ALL rights  reserved.*文件名称:test.cpp*作者:杨驰*完成日期:2016年3月29*问题描述:增加三个成员函数,要求在类内定义*/#include<iostream>using namespace std;class Time{public:    void set_time();    void show_time();    inline void add_a_minute(int n);    inline void add_a_sec(int n);    inline void add_a_hour(int n);private:    bool is_time(int m,int h,int s);    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;        }        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;}inline void Time::add_a_sec(int n){    sec+=n;    if(sec>60)    {        minute+=sec/60;    }    sec=sec%60;}inline void Time::add_a_minute(int n){    minute+=n;    if(minute>60)    {        hour+=minute/60;    }    minute=minute%60;}inline void Time::add_a_hour(int n){    hour+=n;}int main(){    Time t1;    t1.set_time();    int n;    cout<<"请输入增加的分、秒: ";    cin>>n;    t1.add_a_sec(n);    t1.add_a_minute(n);    t1.add_a_hour(n);    t1.show_time();    return 0;
}

运行结果:


0 0