Advertisement
sellmmaahh

tut9-zad3

Jul 31st, 2015
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.77 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <stdexcept>
  4. #include <cmath>
  5. #include <vector>
  6.  
  7.  
  8. using namespace std;
  9.  
  10. class Sat {
  11.     int sati, minute, sekunde;
  12. public:
  13.     void Postavi (int sati, int minute, int sekunde);
  14.     void Sljedeci();
  15.     void Prethodni();
  16.     void PomjeriZa (int pomak);
  17.     int DajSate() const {return sati; }
  18.     int DajMinute() const {return minute;}
  19.     int DajSekunde () const {return sekunde; }
  20.     void Ispisi() const;
  21.     friend int BrojSekundiIzmedju (const Sat &s1,const Sat &s2);
  22.  
  23. };
  24.  
  25. void Sat::Postavi (int sati, int minute, int sekunde)
  26. { if (sati<0 || minute<0 || sekunde<0 || sati>23 || minute>59 || sekunde>59)
  27. throw domain_error ("Neispravan unos.");
  28.     Sat::sati=sati; Sat::minute=minute; Sat::sekunde=sekunde;
  29. }
  30. void Sat::Sljedeci () {
  31.  PomjeriZa(1);
  32. }
  33. void Sat::Prethodni () {
  34.     PomjeriZa(-1);
  35. }
  36.  
  37. void Sat::PomjeriZa(int pomak) {
  38.     sekunde+=pomak;
  39.     int temp=sekunde+pomak;
  40.     if (temp>59) {
  41.             minute+=temp%60;
  42.     sekunde=0;
  43.     }
  44.     if (minute>59) {
  45.         sati+=minute%60;
  46.         minute=0;
  47.     }
  48. }
  49.  
  50. void Sat::Ispisi() const {
  51.     cout.fill('0');cout.width(2); cout<<sati<<":";
  52.     cout.fill('0');cout.width(2);cout<<minute<<":";
  53.     cout.fill('0');cout.width(2);cout<<sekunde<<":";
  54. }
  55.  
  56. int BrojSekundiIzmedju (const Sat &s1,const Sat &s2) {
  57. return ((s1.sati*3600+s1.minute*60+s1.sekunde)-(s2.sati*3600+s2.minute*60+s2.sekunde));
  58. }
  59.  
  60.     int main () {
  61.         Sat s1, s2;
  62.         s1.Postavi(12,45,30);
  63.         s2.Postavi(14,6,32);
  64.         cout<<endl;
  65.         cout<<s1.DajMinute()<<endl;
  66.         cout<<s2.DajSekunde();
  67.         s1.PomjeriZa(13);
  68.         cout<<endl;
  69.         s1.Ispisi();
  70. cout<<endl;
  71.         int n=BrojSekundiIzmedju(s1,s2);
  72.         cout<<n;
  73.     return 0;
  74.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement