u
sing namespace std;
02. #include <iostream>
03.using namespace std;
04.
05.int sec2,minute2,hour2,sec1,minute1,hour1;
06.
07.class Time
08.{
09.public:
10.
11. void set_time( );
12. void show_time( );
13. inline void add_a_sec(); //增加1秒钟
14. inline void add_a_minute(); //增加1分钟
15. inline void add_an_hour(); //增加1小时
16. void add_seconds(int); //增加n秒钟
17. void add_minutes(int); //增加n分钟
18. void add_hours(int); //增加n小时
19.
20.private:
21. bool is_time(int, int, int);
22. int hour;
23. int minute;
24. int sec;
25.};
26.
27.
28.int main( )
29.{
30. Time t1;
31. t1.set_time( );
32. t1.show_time( );
33. t1.add_a_sec(); //增加1秒钟
34. cout<<"增加一秒后的时间为:";
35. t1.show_time( );
36. t1.add_a_minute(); //增加1分钟
37. cout<<"增加一分钟后的时间为:";
38. t1.show_time( );
39. t1.add_an_hour(); //增加1小时
40. cout<<"增加一小时后的时间为:";
41. t1.show_time( );
42. cout<<"您想增加多少秒钟?请输入时间:";
43. cin>>sec2;
44. t1.add_seconds(sec2); //增加n秒钟
45. cout<<"增加"<<sec2<<"秒后的时间为:";
46. t1.show_time( );
47. cout<<"您想增加多少分钟?请输入时间:";
48. cin>>minute2;
49. t1.add_minutes(minute2); //增加n分钟
50. cout<<"增加"<<minute2<<"分钟后的时间为:";
51. t1.show_time( );
52. cout<<"您想增加多少小时?请输入时间:";
53. cin>>hour2;
54. t1.add_hours(hour2); //增加n小时
55. cout<<"增加"<<hour2<<"小时后的时间为:";
56. t1.show_time( );
57. system("PAUSE");
58. return 0;
59.}
60.
61.void Time::set_time( )
62.{
63. char c1,c2;
64. cout<<"请输入时间(格式hh:mm:ss)";
65. while(1)
66. {
67. cin>>hour>>c1>>minute>>c2>>sec;
68. hour1=hour;
69. minute1=minute;
70. sec1=sec;
71. if(c1!=':'||c2!=':')
72. cout<<"格式不正确,请重新输入"<<endl;
73. else if (!is_time(hour,minute,sec))
74. cout<<"时间非法,请重新输入"<<endl;
75. else
76. break;
77. }
78.}
79.
80.void Time::show_time( )
81.{
82. cout<<hour<<":"<<minute<<":"<<sec<<endl;
83.}
84.
85.bool Time::is_time(int h,int m, int s)
86.{
87. if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)
88. return false;
89. return true;
90.}
91.
92.inline void Time::add_a_sec() //增加1秒钟
93.{
94. add_seconds(1);
95.
96. return;
97.}
98.
99.inline void Time::add_a_minute() //增加1分钟
100.{
101. add_minutes(1);
102. return;
103.}
104.
105.inline void Time::add_an_hour() //增加1小时
106.{
107. add_hours(1);
108. return;
109.}
110.
111.void Time::add_seconds(int sec2)//增加n秒钟
112.{
113. sec=sec1;
114. minute=minute1;
115. hour=hour1;
116. sec=sec+sec2;
117. if(sec>60)
118. {
119. sec=sec%60;
120. minute=minute+sec/60;
121. }
122. if(minute>60)
123. {
124. minute=minute%60;
125. hour=hour+minute/60;
126. }
127. if(hour>23)
128. {
129. hour=hour-24;
130. }
131.
132. return;
133.}
134.void Time::add_minutes(int minute2) //增加n分钟
135.{
136. sec=sec1;
137. minute=minute1;
138. hour=hour1;
139. minute=minute+minute2;
140. if(minute>60)
141. {
142. minute=minute%60;
143. hour=hour+minute/60;
144. }
145. if(hour>23)
146. {
147. hour=hour-24;
148. }
149. return;
150.}
151.
152.void Time::add_hours(int hour2) //增加n小时
153.{
154. hour=hour1;
155. sec=sec1;
156. minute=minute1;
157. hour=hour+hour2;
158. if(hour>23)
159. {
160. hour=hour-24;
161. }
162. return;
163.}
sing namespace std;
- class Time
- {
- public:
- void set_time( );
- void show_time( );
- private:
- bool is_time(int, int, int);
- int hour;
- int minute;
- int sec;
- };
- int main( )
- {
- Time t1;
- Time &t2=t1;
- t1.set_time( );
- t2.show_time( );
- 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)
- {
- if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)
- return false;
- return true;
- }
- 要求:请在原类基础上,增加下列成员函数,要求前三个设计成内置函数,在main()数中增加适当的调用以展示扩充类定义后的功能(最好能一次运行)。
- add_a_sec() //增加1秒钟
- add_a_minute() //增加1分钟
- add_an_hour() //增加1小时
- add_seconds(int) //增加n秒钟
- add_minutes(int) //增加n分钟
01.#include <iostream> 02. 03.using namespace std; 04. 05.int sec2,minute2,hour2,sec1,minute1,hour1; 06. 07.class Time 08.{ 09.public: 10. 11. void set_time( ); 12. void show_time( ); 13. inline void add_a_sec(); //增加1秒钟 14. inline void add_a_minute(); //增加1分钟 15. inline void add_an_hour(); //增加1小时 16. void add_seconds(int); //增加n秒钟 17. void add_minutes(int); //增加n分钟 18. void add_hours(int); //增加n小时 19. 20.private: 21. bool is_time(int, int, int); 22. int hour; 23. int minute; 24. int sec; 25.}; 26. 27. 28.int main( ) 29.{ 30. Time t1; 31. t1.set_time( ); 32. t1.show_time( ); 33. t1.add_a_sec(); //增加1秒钟 34. cout<<"增加一秒后的时间为:"; 35. t1.show_time( ); 36. t1.add_a_minute(); //增加1分钟 37. cout<<"增加一分钟后的时间为:"; 38. t1.show_time( ); 39. t1.add_an_hour(); //增加1小时 40. cout<<"增加一小时后的时间为:"; 41. t1.show_time( ); 42. cout<<"您想增加多少秒钟?请输入时间:"; 43. cin>>sec2; 44. t1.add_seconds(sec2); //增加n秒钟 45. cout<<"增加"<<sec2<<"秒后的时间为:"; 46. t1.show_time( ); 47. cout<<"您想增加多少分钟?请输入时间:"; 48. cin>>minute2; 49. t1.add_minutes(minute2); //增加n分钟 50. cout<<"增加"<<minute2<<"分钟后的时间为:"; 51. t1.show_time( ); 52. cout<<"您想增加多少小时?请输入时间:"; 53. cin>>hour2; 54. t1.add_hours(hour2); //增加n小时 55. cout<<"增加"<<hour2<<"小时后的时间为:"; 56. t1.show_time( ); 57. system("PAUSE"); 58. return 0; 59.} 60. 61.void Time::set_time( ) 62.{ 63. char c1,c2; 64. cout<<"请输入时间(格式hh:mm:ss)"; 65. while(1) 66. { 67. cin>>hour>>c1>>minute>>c2>>sec; 68. hour1=hour; 69. minute1=minute; 70. sec1=sec; 71. if(c1!=':'||c2!=':') 72. cout<<"格式不正确,请重新输入"<<endl; 73. else if (!is_time(hour,minute,sec)) 74. cout<<"时间非法,请重新输入"<<endl; 75. else 76. break; 77. } 78.} 79. 80.void Time::show_time( ) 81.{ 82. cout<<hour<<":"<<minute<<":"<<sec<<endl; 83.} 84. 85.bool Time::is_time(int h,int m, int s) 86.{ 87. if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60) 88. return false; 89. return true; 90.} 91. 92.inline void Time::add_a_sec() //增加1秒钟 93.{ 94. add_seconds(1); 95. 96. return; 97.} 98. 99.inline void Time::add_a_minute() //增加1分钟 100.{ 101. add_minutes(1); 102. return; 103.} 104. 105.inline void Time::add_an_hour() //增加1小时 106.{ 107. add_hours(1); 108. return; 109.} 110. 111.void Time::add_seconds(int sec2)//增加n秒钟 112.{ 113. sec=sec1; 114. minute=minute1; 115. hour=hour1; 116. sec=sec+sec2; 117. if(sec>60) 118. { 119. sec=sec%60; 120. minute=minute+sec/60; 121. } 122. if(minute>60) 123. { 124. minute=minute%60; 125. hour=hour+minute/60; 126. } 127. if(hour>23) 128. { 129. hour=hour-24; 130. } 131. 132. return; 133.} 134.void Time::add_minutes(int minute2) //增加n分钟 135.{ 136. sec=sec1; 137. minute=minute1; 138. hour=hour1; 139. minute=minute+minute2; 140. if(minute>60) 141. { 142. minute=minute%60; 143. hour=hour+minute/60; 144. } 145. if(hour>23) 146. { 147. hour=hour-24; 148. } 149. return; 150.} 151. 152.void Time::add_hours(int hour2) //增加n小时 153.{ 154. hour=hour1; 155. sec=sec1; 156. minute=minute1; 157. hour=hour+hour2; 158. if(hour>23) 159. { 160. hour=hour-24; 161. } 162. return; 163.}
- add_hours(int) //增加n小时提示:要考虑增加后超出取值范围的情形