时间类 (内联成员函数)

  1. #include<iostream>   
  2. using namespace std;  
  3. class Time  
  4. {  
  5. public:  
  6.     void set_time();  
  7.     void show_time();  
  8.     inline void add_a_minute();  
  9.     inline void add_a_sec();  
  10.     inline void add_a_hour();  
  11. private:  
  12.     bool is_time(int m,int h,int s);  
  13.     int hour;  
  14.     int minute;  
  15.     int sec;  
  16. };  
  17. void Time::set_time()  
  18. {  
  19.     char c1,c2;  
  20.     cout<<"请输入时间(格式hh:mm:ss:)";  
  21.     while(1)  
  22.     {  
  23.         cin>>hour>>c1>>minute>>c2>>sec;  
  24.         if(c1!=':'||c2!=':')  
  25.         {  
  26.             cout<<"格式不正确,请重新输入"<<endl;  
  27.         }  
  28.         else if(!is_time(hour,minute,sec))  
  29.         {  
  30.             cout<<"格式非法,请重新输入"<<endl;  
  31.         }  
  32.         else  
  33.         {  
  34.             break;  
  35.         }  
  36.     }  
  37. }  
  38. void Time::show_time()  
  39. {  
  40.     cout<<hour<<":"<<minute<<":"<<sec<<endl;  
  41. }  
  42. bool Time::is_time(int h,int m,int s)  
  43. {  
  44.     if(h<0||h>24||m<0||m>60||s<0||s>60)  
  45.         return false;  
  46.     return true;  
  47. }  
  48. inline void Time::add_a_sec()  
  49. {  
  50.     sec+=1;  
  51.     if(sec>59)  
  52.     {  
  53.         minute+=sec/60;  
  54.     }  
  55.     sec=sec%60;  
  56. }  
  57. inline void Time::add_a_minute()  
  58. {  
  59.     minute+=1;  
  60.     if(minute>59)  
  61.     {  
  62.         hour+=minute/60;  
  63.     }  
  64.     minute=minute%60;  
  65. }  
  66. inline void Time::add_a_hour()  
  67. {  
  68.     hour+=1;  
  69. }  
  70. int main()  
  71. {  
  72.     Time t1;  
  73.     t1.set_time();  
  74.     t1.add_a_sec();  
  75.     t1.add_a_minute();  
  76.     t1.add_a_hour();  
  77.     t1.show_time();  
  78.     return 0;  
  79. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值