您的位置:首页 > 其它

第四周实验报告(2)

2012-03-21 20:05 381 查看
#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_an_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;    

};     

int main( )        

{        

    int ss,mm,hh;  

    Time t1;      

    t1.set_time( );           

    t1.show_time( );        

    t1.add_a_sec();          

    cout<<"时间增加一秒后的为:";        

    t1.show_time( );        

    t1.add_a_minute();         

    cout<<"时间增加一分钟后的为:";        

    t1.show_time( );        

    t1.add_an_hour();        

    cout<<"时间增加一小时后的为:";        

    t1.show_time( );        

    cout<<"输入要增加的秒数:";         

    cin>>ss;        

    t1.add_seconds(ss);        

    cout<<"增加"<<ss<<"秒后的时间为:";        

    t1.show_time( );        

    cout<<"输入要增加的分数:";         

    cin>>mm;         

    t1.add_minutes(mm);        

    cout<<"增加"<<mm<<"分钟后的时间为:";        

    t1.show_time( );         

    cout<<"输入要增加的时数:";         

    cin>>hh;         

    t1.add_hours(hh);        

    cout<<"增加"<<hh<<"小时后的时间为:";        

    t1.show_time( );        

    system("PAUSE");        

    return 0;        

}    

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)

{
bool prime;
prime=true;
if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)
{
prime=false;
}
return prime;

}        

inline void Time::add_a_sec()            

{      

    add_seconds(1);

}        

inline void Time::add_a_minute()           

{     

    add_minutes(1);    

}        

inline void Time::add_an_hour()          

{        

    add_hours(1);    

}        

void Time::add_seconds(int ss)          

{              

    sec=sec+ss;   

    if(sec>60)      

    {   
sec=sec%60;
minute=minute+sec/60;
}      

    if(minute>60)      

    {       

        minute=minute%60;      

        hour=hour+minute/60;          

    }
if(hour>23)
{      

        hour=hour-23-1;      

    }

}        

void Time::add_minutes(int mm)           

{             

    minute=minute+mm;        

    if(minute>60)      

    {    

        hour=hour+minute/60;     

        minute=minute%60;      

    }                                        

    if(hour>23)      

    {      

        hour=hour-23-1;      

    }

}        

void Time::add_hours(int hh)           

{          

    hour=hour+hh;      

    if(hour>23)      

    {      

        hour=hour-23-1;      

    }

}   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  system class c