关闭

第四周实验报告(2)

252人阅读 评论(0) 收藏 举报
#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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23454次
    • 积分:606
    • 等级:
    • 排名:千里之外
    • 原创:38篇
    • 转载:0篇
    • 译文:0篇
    • 评论:14条
    文章分类
    最新评论