时间类

来源:互联网 发布:安卓必备软件 编辑:程序博客网 时间:2024/05/29 12:31
//02.* Copyright (c) 2013, 烟台大学计算机学院//04.* 作    者: 马德鹏//05.* 完成日期:2014 年 3 月 14 日//06.* 版 本 号:v1.0//07.*/#include <iostream>#include <iostream>using namespace std;class Time{public:    void set_time( );    void show_time( );    void add_a_sec()    {        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;        }        cout<<"增加1秒数:"<<endl;        sec+=1;        if(sec>60)        {            minute+=1;            sec=sec-60;            if(minute>60)            {                hour+=1;                minute=minute-60;                if(hour>24)                {                    hour-=24;                }            }        }        cout<<hour<<":"<<minute<<":"<<sec<<endl;    }    void add_a_minute()    {        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;        }        cout<<"增加1分钟后:"<<endl;        minute+=1;        if(minute>60)        {            hour+=1;            minute=minute-60;        }        cout<<hour<<":"<<minute<<":"<<sec<<endl;    }    void add_an_hour()    {        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;        }        cout<<"增加1小时后:"<<endl;        hour+=1;        if(hour>24)        {            hour=0;        }        cout<<hour<<":"<<minute<<":"<<sec<<endl;    }    void add_a_minute(int ,int ,int)    {        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;        }        cout<<"增加1小时后:"<<endl;        hour+=1;        if(hour>24)        {            hour=0;        }        cout<<hour<<":"<<minute<<":"<<sec<<endl;    }    void add_seconds(int);    void add_minutes(int);    void add_hours(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;        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_seconds(int d){    sec+=d;    while(sec>60)    {        minute+=1;        sec=sec-60;        while(minute>60)        {            hour+=1;            minute=minute-60;            while(hour>24)            {                hour-=24;            }        }    }    cout<<hour<<":"<<minute<<":"<<sec<<endl;}void Time::add_minutes(int d){    minute+=d;    while(minute>60)    {        hour+=1;        minute=minute-60;        while(hour>24)        {            hour-=24;        }    }    cout<<hour<<":"<<minute<<":"<<sec<<endl;}void Time::add_hours(int d){    hour+=d;    while(hour>=24)    {        hour-=24;    }    cout<<hour<<":"<<minute<<":"<<sec<<endl;}int main( ){    Time t1;    t1.set_time( );    t1.show_time( );    t1.add_a_sec();    t1.add_a_minute();    t1.add_an_hour();    int d;    cout<<"请输入增加的秒数:"<<endl;    cin>>d;    t1.add_seconds(d);    cout<<"请输入增加的分钟数:"<<endl;    cin>>d;    t1.add_minutes(d);    cout<<"请输入增加的小时数:"<<endl;    cin>>d;    t1.add_hours(d);    return 0;}
这几天就在想,失联马航是不是进入时间隧道 了?时间真的是个神奇的事情!
0 0
原创粉丝点击