Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdexcept>
- class Sat
- {
- int sati, minute, sekunde;
- int DajSveUSekunde()
- {
- return sati*3600+minute*60+sekunde;
- };
- void Postavi (int sekunde);
- public:
- void Postavi (int sati, int minute, int sekunde);
- void Sljedeci()
- {
- PomjeriZa(1);
- };
- void Prethodni()
- {
- PomjeriZa(-1);
- };
- void PomjeriZa (int pomak);
- int DajSate () const
- {
- return sati;
- };
- int DajMinute () const
- {
- return minute;
- };
- int Sekunde () const
- {
- return sekunde;
- };
- void Ispisi () const;
- friend int BrojSekundiIzmedju(const Sat &sat1, const Sat &sat2);
- };
- void Sat::Postavi (int sati, int minute, int sekunde)
- {
- sat::sati=sekunde/3600;
- sat::minute=sekunde%3600*60;
- sat::sekunde=sekunde;
- if (sati>23 || sati<0 || minute<0 || minute>59 || sekunde<0 || sekunde>59) throw std::domain_error ("Neispravni parametri.");
- }
- void Sat::PomjeriZa(int pomak)
- {
- if (pomak<0) Postavi (DajSveUSekunde()-pomak);
- Postavi (DajSveUSekunde()+pomak);
- }
- void Sat::Ispisi () const
- {
- if (sati<10) std::cout<<"0"<<sati;
- else std::cout<<sati;
- if (minute<10) std::cout<<"0"<<minute;
- else std::cout<<minute;
- if (sekunde<10) std::cout<<"0"<<sekunde;
- else std::cout<<sekunde;
- }
- int BrojSekundiIzmedju (const Sat &s1, const Sat &s2)
- {
- return s1.DajSveUSekunde()-s2.DajSveUSekunde();
- }
- int main ()
- {
- Sat s1;
- s1.Postavi(12,5,9);
- s1.Ispisi();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement