Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdexcept>
- using std::cout;
- class Sat
- {
- int sat, minute, sekunde;
- int DajSveUSekunde() const
- {
- return sat * 3600 + minute * 60 + sekunde;
- }
- public:
- Sat ()
- {
- Sat::sat=0;
- Sat::minute=0;
- Sat::sekunde=0;
- };
- Sat (int sekunde)
- {
- sat=sekunde/3600;
- minute=sekunde%3600/60;
- Sat::sekunde=sekunde%60;
- };
- Sat (int sati, int minute, int sekunde)
- {
- if(sati < 0)
- throw std::domain_error("Sati moraju biti pozitivni. ");
- if(minute < 0 || minute >= 60)
- throw std::domain_error("Minute ne valjaju. ");
- if(sekunde < 0 || sekunde >= 60)
- throw std::domain_error("Sekunde ne valjaju. ");
- sat = sati;
- this->minute = minute;
- Sat::sekunde = sekunde;
- };
- void Sljedeci()
- {
- PomjeriZa(1);
- }
- void Prethodni()
- {
- PomjeriZa(-1);
- }
- void PomjeriZa(int pomak);
- int DajSate() const
- {
- return sat;
- }
- int DajMinute() const
- {
- return minute;
- }
- int DajSekunde() const
- {
- return sekunde;
- }
- void Ispisi() const;
- friend int BrojSekundiIzmedju(const Sat &s1, const Sat &s2);
- };
- int BrojSekundiIzmedju(const Sat &s1, const Sat &s2)
- {
- return s1.DajSveUSekunde() - s2.DajSveUSekunde();
- }
- void Sat::PomjeriZa(int pomak)
- {
- Sat s(DajSveUSekunde() + pomak);
- }
- void Sat::Ispisi() const
- {
- if(DajSate() < 10) cout << "0";
- cout << sat << ":";
- if(minute < 10) cout << "0";
- cout << minute << ":";
- if(sekunde < 10) cout << "0";
- cout << sekunde;
- cout << std::endl;
- }
- int main()
- {
- Sat s1, s2, s3(2,51,34);
- s2=5000;
- s1.Ispisi();
- s1.Sljedeci();
- s2.Ispisi();
- s1.Prethodni();
- s3.Ispisi();
- s1.PomjeriZa(3661);
- cout << s1.DajSate() << ":" << s1.DajMinute() << ":" << s1.DajSekunde() << std::endl;
- Sat s4(2,2,2);
- cout << BrojSekundiIzmedju(s1,s4);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement