Advertisement
sellmmaahh

tut9-zad3-pocetak

May 6th, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdexcept>
  3.  
  4.  
  5. class Sat
  6. {
  7.     int sati, minute, sekunde;
  8.     int DajSveUSekunde()
  9.     {
  10.         return sati*3600+minute*60+sekunde;
  11.     };
  12.     void Postavi (int sekunde);
  13. public:
  14.     void Postavi (int sati, int minute, int sekunde);
  15.     void Sljedeci()
  16.     {
  17.         PomjeriZa(1);
  18.     };
  19.     void Prethodni()
  20.     {
  21.         PomjeriZa(-1);
  22.     };
  23.     void PomjeriZa (int pomak);
  24.     int DajSate () const
  25.     {
  26.         return sati;
  27.     };
  28.     int DajMinute () const
  29.     {
  30.         return minute;
  31.     };
  32.     int Sekunde () const
  33.     {
  34.         return sekunde;
  35.     };
  36.     void Ispisi () const;
  37.     friend int BrojSekundiIzmedju(const Sat &sat1, const Sat &sat2);
  38.  
  39. };
  40.  
  41. void Sat::Postavi  (int sati, int minute, int sekunde)
  42. {
  43.     sat::sati=sekunde/3600;
  44.     sat::minute=sekunde%3600*60;
  45.     sat::sekunde=sekunde;
  46.  
  47.     if (sati>23 || sati<0 || minute<0 || minute>59 || sekunde<0 || sekunde>59) throw std::domain_error ("Neispravni parametri.");
  48.  
  49. }
  50.  
  51. void Sat::PomjeriZa(int pomak)
  52. {
  53.     if (pomak<0) Postavi (DajSveUSekunde()-pomak);
  54.     Postavi (DajSveUSekunde()+pomak);
  55. }
  56.  
  57. void Sat::Ispisi ()  const
  58. {
  59.     if (sati<10) std::cout<<"0"<<sati;
  60.     else std::cout<<sati;
  61.  
  62.     if (minute<10) std::cout<<"0"<<minute;
  63.     else std::cout<<minute;
  64.  
  65.     if (sekunde<10) std::cout<<"0"<<sekunde;
  66.     else std::cout<<sekunde;
  67. }
  68.  
  69.  
  70.  
  71. int BrojSekundiIzmedju (const Sat &s1, const Sat &s2)
  72. {
  73.     return s1.DajSveUSekunde()-s2.DajSveUSekunde();
  74. }
  75.  
  76. int main ()
  77. {
  78.     Sat s1;
  79.     s1.Postavi(12,5,9);
  80.     s1.Ispisi();
  81.     return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement