Advertisement
Sanlover

Untitled

Oct 12th, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <Windows.h>
  3. using namespace std;
  4. class TIME
  5. {
  6.     int* hour, * minute, * sec;
  7. public:
  8.     TIME(int a, int b, int c) //конструктор с вводом часов, минут и секунд
  9.     {
  10.         hour = new int(a);
  11.         minute = new int(b);
  12.         sec = new int(c);
  13.         if (*sec >= 60)
  14.         {
  15.             *minute = *minute + *sec / 60;
  16.             *sec = *sec - (60 * (*sec / 60));
  17.         }
  18.         if (*minute >= 60)
  19.         {
  20.             *hour = *hour + *minute / 60;
  21.             *minute = *minute - (60 * (*minute / 60));
  22.         }
  23.         // cout << "введено время" << *hour << *minute << *sec << endl;
  24.     }
  25.     TIME(int a) //конструктор с вводом только секунд
  26.     {
  27.         hour = new int;
  28.         minute = new int;
  29.         sec = new int;
  30.         *hour = a / 3600;
  31.         *minute = (a - (*hour * 3600)) / 60;
  32.         *sec = a - (*hour * 3600) - (*minute * 60);
  33.         if (*sec >= 60)
  34.         {
  35.             *minute = *minute + *sec / 60;
  36.             *sec = *sec - (60 * (*sec / 60));
  37.         }
  38.         if (*minute >= 60)
  39.         {
  40.             *hour = *hour + *minute / 60;
  41.             *minute = *minute - (60 * (*minute / 60));
  42.         }
  43.         //cout << "введено время" << *hour << *minute << *sec << endl;
  44.     }
  45.     TIME()
  46.     {
  47.         hour = new int(0);
  48.         minute = new int(0);
  49.         sec = new int(0);
  50.     }
  51.     TIME(const TIME& obj) //конструктор копирования
  52.     {
  53.         hour = new int;
  54.         minute = new int;
  55.         sec = new int;
  56.         *hour = *(obj.hour);
  57.         *minute = *(obj.minute);
  58.         *sec = *(obj.sec);
  59.     }
  60.      ~TIME()
  61.      {
  62.           delete hour;
  63.           delete minute;
  64.           delete sec;
  65.      }
  66.     void ShowTime()
  67.     {
  68.         cout << *hour << ":" << *minute << ":" << *sec;
  69.     }
  70.     TIME operator+(const TIME obj)
  71.     {
  72.         return TIME(*hour + *obj.hour, *minute + *obj.minute, *sec + *obj.sec);
  73.     }
  74.     TIME& operator=(const TIME& obj)
  75.     {
  76.         *sec = *obj.sec;
  77.         *hour = *obj.hour;
  78.         *minute = *obj.minute;
  79.         return *this;
  80.     };
  81. };
  82. int main()
  83. {
  84.     SetConsoleCP(1251);
  85.     SetConsoleOutputCP(1251);
  86.     TIME A(10, 30, 65);
  87.     A.ShowTime();
  88.     cout << endl;
  89.     TIME B(3600);
  90.     B.ShowTime();
  91.    
  92.     cout << endl;
  93.     TIME C;
  94.     C = A + B;
  95.     C.ShowTime();
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement