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