Advertisement
sellmmaahh

zsr-10-zad3

May 17th, 2015
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.10 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdexcept>
  3.  
  4.  
  5. using std::cout;
  6.  
  7. class Sat
  8. {
  9.  
  10.     int sat, minute, sekunde;
  11.  
  12.     int DajSveUSekunde() const
  13.     {
  14.         return sat * 3600 + minute * 60 + sekunde;
  15.     }
  16.  
  17.  
  18. public:
  19.  
  20.     Sat ()
  21.     {
  22.         Sat::sat=0;
  23.         Sat::minute=0;
  24.         Sat::sekunde=0;
  25.     };
  26.     Sat (int sekunde)
  27.     {
  28.         sat=sekunde/3600;
  29.         minute=sekunde%3600/60;
  30.         Sat::sekunde=sekunde%60;
  31.  
  32.     };
  33.     Sat (int sati, int minute, int sekunde)
  34.     {
  35.         if(sati < 0)
  36.             throw std::domain_error("Sati moraju biti pozitivni. ");
  37.         if(minute < 0 || minute >= 60)
  38.             throw std::domain_error("Minute ne valjaju. ");
  39.         if(sekunde < 0 || sekunde >= 60)
  40.             throw std::domain_error("Sekunde ne valjaju. ");
  41.  
  42.  
  43.         sat = sati;
  44.         this->minute = minute;
  45.         Sat::sekunde = sekunde;
  46.     };
  47.  
  48.  
  49.  
  50.     void Sljedeci()
  51.     {
  52.         PomjeriZa(1);
  53.     }
  54.     void Prethodni()
  55.     {
  56.         PomjeriZa(-1);
  57.     }
  58.     void PomjeriZa(int pomak);
  59.  
  60.     int DajSate() const
  61.     {
  62.         return sat;
  63.     }
  64.     int DajMinute() const
  65.     {
  66.         return minute;
  67.     }
  68.     int DajSekunde() const
  69.     {
  70.         return sekunde;
  71.     }
  72.  
  73.     void Ispisi() const;
  74.  
  75.     friend int BrojSekundiIzmedju(const Sat &s1, const Sat &s2);
  76. };
  77.  
  78.  
  79. int BrojSekundiIzmedju(const Sat &s1, const Sat &s2)
  80. {
  81.     return s1.DajSveUSekunde() - s2.DajSveUSekunde();
  82. }
  83.  
  84. void Sat::PomjeriZa(int pomak)
  85. {
  86.     Sat s(DajSveUSekunde() + pomak);
  87. }
  88.  
  89. void Sat::Ispisi() const
  90. {
  91.  
  92.     if(DajSate() < 10) cout << "0";
  93.     cout << sat << ":";
  94.     if(minute < 10) cout << "0";
  95.     cout << minute << ":";
  96.     if(sekunde < 10) cout << "0";
  97.     cout << sekunde;
  98.  
  99.     cout << std::endl;
  100. }
  101.  
  102.  
  103. int main()
  104. {
  105.  
  106.  
  107.     Sat s1, s2, s3(2,51,34);
  108.     s2=5000;
  109.  
  110.     s1.Ispisi();
  111.  
  112.     s1.Sljedeci();
  113.     s2.Ispisi();
  114.     s1.Prethodni();
  115.     s3.Ispisi();
  116.  
  117.     s1.PomjeriZa(3661);
  118.  
  119.  
  120.     cout << s1.DajSate() << ":" << s1.DajMinute() << ":" << s1.DajSekunde() << std::endl;
  121.  
  122.     Sat s4(2,2,2);
  123.  
  124.     cout << BrojSekundiIzmedju(s1,s4);
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement