1 #include <iostream>
2 #include <cstdio>
3
4 using namespace std;
5
6 class MyTime
7 {
8 private:
9 int hour;
10 int minute;
11 int second;
12 public:
13 MyTime(){hour=0;minute=0;second=0;}
14 MyTime(int,int,int);
15 void Register(int,int,int);
16 void Show_12();
17 void Show_24();
18 void Sub(int,int,int);
19 void Add(int,int,int);
20 };
21
22 MyTime::MyTime(int a, int b, int c)
23 {
24 hour=a;
25 minute=b;
26 second=c;
27 }
28
29 void MyTime::Show_12()
30 {
31 if(hour>11)
32 {
33 printf("%02d:%02d:%02d PM\n",hour-12,minute,second);
34 }
35 else
36 {
37 printf("%02d:%02d:%02d AM\n",hour,minute,second);
38 }
39 return;
40 }
41
42 void MyTime::Show_24()
43 {
44 printf("%02d:%02d:%02d\n",hour,minute,second);
45 return;
46 }
47
48 void MyTime::Sub(int a, int b, int c)
49 {
50 hour-=a;
51 minute-=b;
52 second-=c;
53 while(second<0)
54 {
55 second+=60;
56 minute-=1;
57 }
58 while(minute<0)
59 {
60 minute+=60;
61 hour-=1;
62 }
63 while(hour<0)
64 {
65 hour+=24;
66 }
67 return;
68 }
69
70 void MyTime::Add(int a, int b, int c)
71 {
72 hour+=a;
73 minute+=b;
74 second+=c;
75 while(second>59)
76 {
77 second-=60;
78 minute+=1;
79 }
80 while(minute>59)
81 {
82 minute-=60;
83 hour+=1;
84 }
85 while(hour>23)
86 {
87 hour-=24;
88 }
89 return;
90 }
91
92 void MyTime::Register(int a,int b, int c)
93 {
94 hour=a;
95 minute=b;
96 second=c;
97 return;
98 }
99
100 int main()
101 {
102 MyTime one,two(8,10,30);
103 int a,b,c,x,y,z;
104 cin>>a>>b>>c>>x>>y>>z;
105 one.Show_12();
106 one.Show_24();
107 two.Show_12();
108 two.Show_24();
109 one.Register(a,b,c);
110 one.Add(x,y,z);
111 two.Sub(x,y,z);
112 one.Show_12();
113 one.Show_24();
114 two.Show_12();
115 two.Show_24();
116 return 0;
117 }