第四周作业 2

 

/* (程序头部注释开始)

* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生

* All rights reserved.

* 文件名称:

 * 作 者: 孙建朋

* 完成日期: 2012年03 月13日

* 版 本 号:2012031302

 * 对任务及求解方法的描述部分

* 输入描述: ...

* 问题描述: ...

* 程序输出: ...

*程序头部的注释结束*/ 

main.cpp

#include <iostream> 
#include"Time.h"       
using namespace std;      
int main( )    
{     
    Time t1;    
    Time &t2=t1;      
    t1.set_time( );       
    t1.show_time( );    
    t1.add_a_sec();  //增加1秒钟      
    t1.show_time( );    
    t1.add_a_minute(); //增加1分钟      
    t1.show_time( );    
    t1.add_an_hour(); //增加1小时      
    t1.show_time( );     
    t1.add_seconds(10000);    
    t2.show_time( );      
    return 0;    
}   


Taim.h

#include<iostream>    
using namespace std;    
class Time        
{        
public:        
      
    void set_time( );           
    void show_time( );         
    inline void add_a_sec();  //增加1秒钟          
    inline void add_a_minute(); //增加1分钟          
    inline void add_an_hour(); //增加1小时         
    void add_seconds(int); //增加n秒钟          
    void add_minutes(int); //增加n分钟          
    void add_hours(int); //增加n小时          
      
private:         
      
    bool is_time(int, int, int);        
    int hour;        
    int minute;        
    int sec;      
};  


Time.cpp

#include<iostream>     
#include"Time.h"  
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 > 23 || m < 0 || m > 59 || s < 0 || s > 59)    
        return false;     
    return true;    
}    

inline void Time::add_a_sec()   
{    
    ++sec;        
    if (!is_time(hour, minute, sec))    
    {    
        sec = 0;    
        add_a_minute();  
    }    
    cout<<"增加一秒钟后时间为:";  
}    

inline void Time::add_a_minute()    
{    
    ++minute;    
	
    if (!is_time(hour, minute, sec))    
    {    
        add_an_hour();    
    }    
    cout<<"增加一分钟后时间为:";  
}    

inline void Time::add_an_hour()    
{    
    ++hour;      
    if (!is_time(hour, minute, sec))    
    {    
        hour = 0;    
    }    
    cout<<"增加一小时后时间为:";  
}    

void Time::add_seconds(int s)    
{    
    s = sec + s;    
    sec = s % 60;     
    add_minutes(s / 60);   
    cout<<"增加10000秒钟后时间为:";  
}    

void Time::add_minutes(int m)    
{    
    m = minute + m;    
    minute = m % 60;      
    add_hours(m / 60);    
}  

void Time::add_hours(int h)    
{    
    h = hour + h;    
    hour = h % 24;    
}  

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值