第三周项目三-时间类

来源:互联网 发布:手机网络电视 安卓 编辑:程序博客网 时间:2024/04/28 16:56
#include <iostream>using namespace std;class Time{public:    void set_time( );    void show_time( );    void add_seconds(int);    void add_minutes(int);    void add_hours(int);    void add_a_sec( )//类内定义    {        int h,m,s;        h=hour,m=minute,s=sec;        s+=1;        if(s==60)        {            m+=1;            s=0;        }        if(m==60)        {            h+=1;            m=0;        }        cout<<h<<":"<<m<<":"<<s<<endl;    }    void add_a_minute()    {        int h,m,s;        h=hour,m=minute,s=sec;        m+=1;        if(m==60)        {            h+=1;            m=0;        }        if(h==24)        {            h=0;        }       cout<<h<<":"<<m<<":"<<s<<endl;    }    void add_an_hour()    {        int h,m,s;        h=hour,m=minute,s=sec;        h+=1;        if(h==24)        {            h=0;        }      cout<<h<<":"<<m<<":"<<s<<endl;    }private:    bool is_time(int, int, int);   //这个成员函数设置为私有的,是合适的,请品味    int hour;    int minute;    int sec;};void Time:: add_seconds(int n){    int h,m,s;    h=hour,m=minute,s=sec;    s+=n;    while(s>=60)    {        m+=1;        s=s-60;    }    while(m>=60)    {        h+=1;        m=m-60;    }    while(h>=24)    {        h=h-24;    }    cout<<h<<":"<<m<<":"<<s<<endl;}void Time::add_minutes(int n){    int h,m,s;    h=hour,m=minute,s=sec;    m+=n;    while(m>=60)    {        h+=1;        m=m-60;    }    while(h>=24)    {        h=h-24;    }    cout<<h<<":"<<m<<":"<<s<<endl;}void Time::add_hours(int n){    int h,m,s;    h=hour,m=minute,s=sec;    h+=n;    while(h>=24)    {        h=h-24;    }    cout<<h<<":"<<m<<":"<<s<<endl;}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;}int main( ){    int n;    Time t1;    t1.set_time( );    t1.show_time( );    t1.add_a_sec( );    t1.add_a_minute( );    t1.add_an_hour( );    cout<<"输入n的值:";    cin>>n;    t1.add_seconds(n);    t1.add_minutes(n);    t1.add_hours(n);    return 0;}

运行结果:


0 0
原创粉丝点击