Facebook
From Blush Leech, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 230
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <string>
  4. using namespace std;
  5.  
  6. class Tczas
  7. {
  8. protected:
  9.         int rok, dzien, god, min, sec;
  10.         string mes;
  11. public:
  12.         int godzinka, minutka, sek;
  13.         Tczas()
  14.         {
  15.                 godzinka = 1; minutka = 0; sek = 3;
  16.         }
  17.         Tczas(int a, int b, int c)
  18.         {
  19.                 godzinka = a; minutka = b; sek = c;
  20.         }
  21. };
  22.  
  23. class Tdata : private Tczas
  24. {
  25. public:
  26.         Tdata()
  27.         {
  28.                 rok = 2081; mes = "marzec"; dzien = 3; god = 12; min = 2; sec = 0;
  29.         }
  30.         Tdata(int r, string m, int d, int g, int minuta, int s)
  31.         {
  32.                 rok = r; mes = m; dzien = d; god = g; min = minuta; sec = s;
  33.         }
  34.         void sprawdz(Tdata a);
  35.         int r() { return rok; }
  36.         string miesiac() { return mes; }
  37.         int d() { return dzien; }
  38.         int godzina() { return god; }
  39.         int minuta() { return min; }
  40.         int sekunda() { return sec; }
  41.         void dodawanie(Tdata a, Tdata b)
  42.         {
  43.                 a.dzien = a.dzien + b.dzien;
  44.                 a.god = a.god + b.god;
  45.                 a.min = a.min + b.min;
  46.                 a.sec = a.sec + b.sec;
  47.                 dzien = a.dzien; god = a.god; min = a.min; sec = a.sec;
  48.                 cout << d() << "\t" << godzina() << "\t" << minuta() << "\t" << sekunda() << endl;
  49.         }
  50.         void wysw(Tdata a)
  51.         {
  52.                 cout << "dd/mm/rr: " << d() << " " << miesiac() << " " << r() << endl;
  53.         }
  54.         void wysw2(Tdata a)
  55.         {
  56.                 cout << "dd/mm/rr gg:mm:ss\t" << r() << " " << miesiac() << " " << d() << " " << godzina() << ":" << minuta() << ":" << sekunda() << endl;
  57.         }
  58.         void odstep_czasu(Tdata k, Tdata m)
  59.         {
  60.                 k.dzien = k.dzien - m.dzien;
  61.                 k.god = k.god - m.god;
  62.                 k.min = k.min - m.min;
  63.                 k.sec = k.sec - m.sec;
  64.                 k.sec = k.sec / 60;
  65.                 k.min -= k.sec / 60;
  66.                 k.god -= k.min / 60;
  67.                 k.dzien -= k.god / 24;
  68.                 cout << k.dzien << "\t" << k.god << "\t" << k.min << "\t" << k.sec << endl;
  69.         }
  70. };
  71.  
  72. int main()
  73. {
  74.         Tczas s(1, 5, 4);
  75.         Tdata o1(2019, "marca", 12, 15, 34, 1);
  76.         Tdata o2(2019, "kwietnia", 3, 17, 45,1);
  77.         o1.sprawdz(o1);
  78.         o2.sprawdz(o2);
  79.         //o1.dodawanie(o1, o2);
  80.         o1.wysw(o1);
  81.         o2.wysw2(o2);
  82.         o1.odstep_czasu(o1, o2);
  83.         return 0;
  84. }
  85. void Tdata::sprawdz(Tdata a)
  86. {
  87.         if (a.rok < 3000 && a.mes!="" && a.dzien < 31 && a.god < 25 && a.min < 61 && a.sec < 61)
  88.                 cout << "dane sa poprawne" << endl;
  89.         else
  90.         {
  91.                 cout << "dane NIE sa poprawne" << endl;
  92.                 exit(1);
  93.         }
  94. }