Advertisement
naskedvi

T12 - zad.6.

Jun 6th, 2014
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3.  
  4. class AmerickeMjere
  5. {
  6.     int j,s,i;
  7.     static void Skrati(int &jard, int &stopa, int &inc){
  8.                 while(inc >11) { inc-=12; stopa++;}
  9.                 while(stopa >2) { stopa-=3; jard++;}
  10.                 }
  11. public:
  12.     AmerickeMjere(int jard, int stopa, int inc): j(jard), s(stopa), i(inc);{}
  13.     AmerickeMjere(double metri){i=metri*0,0254;}
  14.     void Ocitaj(int &jard, int &stopa, int &inc){
  15.                 Skrati(j,s,i); jard=j; stopa=s; inc=i;
  16.                 }
  17.                
  18.     friend AmerickeMjere operator+(AmerickeMjere a, AmerickeMjere b)
  19.     {
  20.         int jard(a.j+b.j), stopa(a.s+b.s), inc(a.i+b.i);
  21.                 Skrati(jard,stopa,inc);
  22.                     return {jard,stopa,inc};
  23.     }
  24.    
  25.     AmerickeMjere &operator += (const AmerickeMjere &b)
  26.     {
  27.         j+=b.j; s+=b.s; i+=b.i;
  28.         Skrati(j,s,i);
  29.         return *this;
  30.     }
  31.    
  32.     AmerickeMjere &operator ++(){ i++; Skrati(j,s,i);}
  33.    
  34.     AmerickeMjere operator ++(int){
  35.         AmerickeMjere pomocni(*this);
  36.         i++; Skrati(j,s,i); return pomocni;}
  37.  
  38.     friend std::ostream &operator<<(std::ostream& tok,const AmerickeMjere &m)
  39.     { tok<<m.j<<" yd "<<m.s<<" ft "<<m.i<<" in"<<std::endl; }
  40.                
  41. };
  42.  
  43. int main()
  44. {
  45.     AmerickeMjere a(0,5,11);
  46.     a++;
  47.     std::cout<<a;
  48.  
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement