Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <stdexcept>
- class digitalnisat
- {
- int sati, minute, sekunde;
- public:
- void Postavi (int sati, int minute, int sekunde)
- {
- if (sati > 23 ||sati <= 0 || minute >59 || minute <=0 || sekunde > 59 || sekunde <0) throw std::domain_error("Neispravni parametri..");
- this -> sati = sati;
- this -> minute = minute;
- this -> sekunde = sekunde;
- }
- void Sljedeci()
- {
- ++sekunde;
- if (sekunde > 60)
- { sekunde = 1;
- ++minute; }
- if (minute > 59) minute = 0; ++sati;
- if (sati > 23 ) sati = 0;
- }
- void Prethodni()
- {
- --sekunde;
- if (sekunde > 59) sekunde = 0;
- ++minute;
- if (minute < 59) minute = 59, sati = 1;
- if (sati < 0) sati = 23;
- }
- void PomjeriZa(int pomak)
- {
- sekunde = sekunde + pomak;
- while
- ( sekunde > 59 ) { sekunde -=60 ;
- ++minute; }
- while (minute > 59) {minute -= 60;
- ++sekunde;}
- while (sati > 23 ) sati -=24;
- }
- int DajSate() const
- {
- return sati;
- }
- int DajMinute() const
- {
- return minute;
- }
- int DajSekunde() const
- {
- return sekunde;
- }
- void Ispisi() const
- {
- std::cout<<std::setfill('0') << std::setw(2) << sati<< ":" << minute << ":" << sekunde << " \n";
- } };
- int main()
- {
- digitalnisat varijabla;
- varijabla.Postavi(12,5,59);
- varijabla.PomjeriZa(144);
- varijabla.Ispisi();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement