时间类

来源:互联网 发布:刀具推荐知乎 编辑:程序博客网 时间:2024/05/21 08:56
#include <iostream>using namespace std;class Time{    public :     void set_time();     void show_time();     inline void add_a_sec();     inline void add_a_minute();     inline void add_a_hour();     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<<"请输入一个时间:"<<endl;    cin>>hour>>c1>>minute>>c2>>sec;    if(c1!=':'||c2!=':')    {        cout<<"格式不正确!请重新输入!"<<endl;}        else if(!is_time(hour,minute,sec))       {           cout<<"时间非法!请重新输入!";       }}void Time::show_time(){    cout<<hour<<":"<<minute<<":"<<sec<<endl;}bool Time::is_time(int h,int m,int s){    if(hour<0||hour>24||minute<0||minute>60||sec<0||sec>60)    return false;    return true;}inline void Time::add_a_sec(){    ++sec;    if(sec>59)    {        sec=0;        add_a_minute();    }}inline void Time::add_a_minute(){    ++minute;    if(minute>59)    {        minute=0;        add_a_hour();    }}inline void Time::add_a_hour(){    ++hour;    if(hour>23)    {        hour=0;    }}void Time::add_seconds(int n){    sec+=n;    if(sec>59)    {        minute+=sec/60;        sec%=60;    }}void Time::add_minutes(int n){    minute+=n;    if(minute>59)    {        hour+=minute/60;        minute%=60;    }}void Time::add_hours(int n){    hour+=n;    if(hour>23)    hour%=24;}int main(){    Time t1;    Time &t2=t1;    t1.set_time();    cout<<"现在的时间是:";    t2.show_time();    t1.add_a_sec();    cout<<"增加1秒钟后:";    t1.show_time();    t1.add_a_minute();    cout<<"增加1分钟后:";    t1.show_time();    t1.add_a_hour();    cout<<"增加一小时后:";    t1.show_time();    t1.add_seconds(40);    cout<<"增加40秒后:";    t1.show_time();    t1.add_minutes(5);    cout<<"增加5分钟后:";    t1.show_time();    t1.add_hours(1);    cout<<"增加1小时后:";    t1.show_time();        return 0;}

0 0
原创粉丝点击