Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <stdexcept>
- #include <cmath>
- #include <vector>
- using namespace std;
- class Sat {
- int sekunde;
- public:
- void Postavi (int sati, int minute, int sekunde);
- void Sljedeci();
- void Prethodni();
- void PomjeriZa (int pomak);
- int DajSate() const;
- int DajMinute() const;
- int DajSekunde () const;
- void Ispisi() const;
- friend int BrojSekundiIzmedju (const Sat &s1,const Sat &s2);
- };
- int Sat::DajSate() const {
- if (sekunde<3600) return 0;
- return sekunde/3600;
- }
- int Sat::DajMinute() const {
- int pom=sekunde%3600;
- return pom/60;
- }
- int Sat::DajSekunde() const {
- if (sekunde%3600>59)
- {int pom=sekunde%3600;
- return pom%60;
- }
- else return sekunde%3600;
- }
- void Sat::Postavi (int sati, int minute, int sekunde)
- { if ( sekunde<0)
- throw domain_error ("Neispravan unos.");
- Sat::sekunde=sekunde+minute*60+sati*3600;
- }
- void Sat::Sljedeci () {
- PomjeriZa(1);
- }
- void Sat::Prethodni () {
- PomjeriZa(-1);
- }
- void Sat::PomjeriZa(int pomak) {
- sekunde+=pomak;
- }
- void Sat::Ispisi() const {
- cout.fill('0');cout.width(2); cout<<sekunde/3600<<":";
- cout.fill('0');cout.width(2);cout<<(sekunde%3600)/60<<":";
- cout.fill('0');cout.width(2);cout<<(sekunde%3600)/60<<":";
- }
- int BrojSekundiIzmedju (const Sat &s1,const Sat &s2) {
- return s1.sekunde-s2.sekunde;
- }
- int main () {
- Sat s1, s2;
- s1.Postavi(12,45,30);
- s2.Postavi(14,6,32);
- cout<<endl;
- cout<<s1.DajMinute()<<endl;
- cout<<s2.DajSekunde();
- s1.PomjeriZa(13);
- cout<<endl;
- s1.Ispisi();
- cout<<endl;
- int n=BrojSekundiIzmedju(s1,s2);
- cout<<n;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement