欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

设计一个多功能的MyTime类 代码参考

程序员文章站 2022-03-25 16:18:07
1 #include 2 #include 3 4 using namespace std; 5 6 class MyTime 7 { 8 private: 9 int hour; 10 int minute; 11 int second; 12 public ......
  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 }