第四周实验报告(2)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值