第四周任务(二)

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: renwu.cpp                            
* 作    者: 苗向前                        
* 完成日期:2012  年 3 月 20 日
* 版 本 号:v4.2        

* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/

renwu.h

[cpp] view plaincopy
01.using namespace std;       
02.class Time     
03.{  
04.public:     
05.    void set_time( );        
06.    void show_time( );     
07.    void add_n_sec(int );    
08.    void add_n_minute(int );    
09.    void add_n_hour(int );    
10.    void add_a_sec( );    
11.    void add_a_minute( );    
12.    void add_a_hour( );    
13.private:      
14.    bool is_time(int, int, int);     
15.    int hour;     
16.    int minute;     
17.    int sec;     
18.};  

renwu.cpp

01.#include<iostream>  
02.#include"renwu.h"     
03.using namespace std;  
04.int main( )     
05.{     
06.    int s,m,h;    
07.    Time t1;       
08.    Time &t2=t1;     
09.    t1.set_time( );        
10.    t2.show_time( );    
11.      
12.      
13.    cout<<"输入加的秒:";    
14.    cin>>s;    
15.    t1.add_n_sec(s);    
16.    t1.show_time( );    
17.    cout<<"输入加的分钟:";    
18.    cin>>m;    
19.    t1.add_n_minute (m);    
20.    t1.show_time( );    
21.    cout<<"输入加的小时:";    
22.    cin>>h;    
23.    t1.add_n_hour( h);    
24.    t1.show_time( );    
25.      
26.    t1.add_a_sec();    
27.    cout<<"加入一秒的结果:";    
28.    t1.show_time( );    
29.    t1.add_a_minute ();    
30.    cout<<"加入一分的结果:";    
31.    t1.show_time( );    
32.    t1.add_a_hour( );    
33.    cout<<"加入一小时的结果:";    
34.    t1.show_time( );    
35.    system("PAUSE");    
36.    return 0;     
37.}
hanshu.cpp
01.#include<iostream>  
02.#include"renwu.h"  
03.using namespace std;  
04.void Time::set_time( )      
05.{  
06.    char c1,c2;     
07.    cout<<"请输入时间(格式 hh:mm:ss)";     
08.    while(1)     
09.    {  cin>>hour>>c1>>minute>>c2>>sec;     
10.    if(c1!=':'||c2!=':')     
11.        cout<<"格式不正确,请重新输入"<<endl;     
12.    else if (!is_time(hour,minute,sec))     
13.        cout<<"时间非法,请重新输入"<<endl;     
14.    else      
15.        break;     
16.    }     
17.}     
18.void Time::show_time( )           
19.{  cout<<hour<<":"<<minute<<":"<<sec<<endl;     
20.}     
21.bool Time::is_time(int h,int m, int s)     
22.{  if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)     
23.return false;     
24.return true;     
25.}     
26.void Time::add_n_sec(int n)    
27.{    
28.    int h,m,s;    
29.    s =(sec +n)%60;    
30.    m=(sec +n)/60+minute ;    
31.    minute =m%60;    
32.    h=m/60+ hour ;    
33.    hour =h%24;    
34.    sec=s;    
35.}    
36.void Time::add_n_minute(int n)   
37.{    
38.    int h;    
39.    minute=(minute+n)%60;    
40.    h=hour+(minute+n)/60;    
41.    hour=h%24;    
42.}    
43.void Time::add_n_hour(int n)    
44.{    
45.    hour=(hour+n)%24;    
46.      
47.      
48.}    
49.void Time::add_a_sec()    
50.{    
51.    int h,m,s;    
52.    s =(sec +1)%60;    
53.    m=(sec +1)/60+minute ;    
54.    minute =m%60;    
55.    h=m/60+ hour ;    
56.    hour =h%24;    
57.    sec=s;    
58.}    
59.void Time::add_a_minute()    
60.{    
61.    int h;    
62.    minute=(minute+1)%60;    
63.    h=hour+(minute+1)/60;    
64.    hour=h%24;    
65.}    
66.void Time::add_a_hour()    
67.{    
68.    hour=(hour+1)%24;    
69.}   
运行结果:

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值