第四周實驗報告(二)

來源:互聯網
上載者:User

#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;     
    }
}  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.