Advertisement
sellmmaahh

tut9-zad4

Jul 31st, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.75 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 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;
  18.     int DajMinute() const;
  19.     int DajSekunde () const;
  20.     void Ispisi() const;
  21.     friend int BrojSekundiIzmedju (const Sat &s1,const Sat &s2);
  22.  
  23. };
  24.  
  25.  int Sat::DajSate() const {
  26.     if (sekunde<3600) return 0;
  27.     return sekunde/3600;
  28.  
  29.  }
  30.  int Sat::DajMinute() const {
  31.      int pom=sekunde%3600;
  32.      return pom/60;
  33.  }
  34.  int Sat::DajSekunde() const {
  35.     if (sekunde%3600>59)
  36. {int pom=sekunde%3600;
  37. return pom%60;
  38. }
  39. else return sekunde%3600;
  40.  }
  41.  
  42.  void Sat::Postavi (int sati, int minute, int sekunde)
  43. { if ( sekunde<0)
  44. throw domain_error ("Neispravan unos.");
  45.      Sat::sekunde=sekunde+minute*60+sati*3600;
  46. }
  47. void Sat::Sljedeci () {
  48.  PomjeriZa(1);
  49. }
  50. void Sat::Prethodni () {
  51.     PomjeriZa(-1);
  52. }
  53.  
  54. void Sat::PomjeriZa(int pomak) {
  55.     sekunde+=pomak;
  56.  
  57. }
  58.  
  59. void Sat::Ispisi() const {
  60.     cout.fill('0');cout.width(2); cout<<sekunde/3600<<":";
  61.     cout.fill('0');cout.width(2);cout<<(sekunde%3600)/60<<":";
  62.     cout.fill('0');cout.width(2);cout<<(sekunde%3600)/60<<":";
  63. }
  64.  
  65. int BrojSekundiIzmedju (const Sat &s1,const Sat &s2) {
  66. return s1.sekunde-s2.sekunde;
  67. }
  68.  
  69.     int main () {
  70.         Sat s1, s2;
  71.         s1.Postavi(12,45,30);
  72.         s2.Postavi(14,6,32);
  73.         cout<<endl;
  74.         cout<<s1.DajMinute()<<endl;
  75.         cout<<s2.DajSekunde();
  76.         s1.PomjeriZa(13);
  77.         cout<<endl;
  78.         s1.Ispisi();
  79. cout<<endl;
  80.         int n=BrojSekundiIzmedju(s1,s2);
  81.         cout<<n;
  82.     return 0;
  83.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement