Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef SAT
- #define SAT
- #include <iostream>
- using namespace std;
- class Vreme{
- private:
- int h,m,s;
- int ph,pm,ps;
- int th,tm,ts;
- int qh,qm,qs,q;
- public:
- Vreme(int hh, int mm, int ss){ h=hh; m=mm; s=ss; ph=hh; pm=mm; ps=ss;qh=0;qm=0;qs=0;q=0;}
- int GetH() const{ return h;}
- int GetM() const{ return m;}
- int GetS() const{ return s;}
- int GetPH() const{ return ph;}
- int GetPM() const{ return pm;}
- int GetPS() const{ return ps;}
- void SetH(int hh) {h=hh;}
- void SetM(int mm) {m=mm;}
- void SetS(int ss) {s=ss;}
- int GetTH() const{ return th;}
- int GetTM() const{ return tm;}
- int GetTS() const{ return ts;}
- bool budi(){
- int i=0;
- if(h==6)i++;
- if(m==30)i++;
- if(s==0)i++;
- if(i==3)return(true);
- else return(false);
- }
- bool spavaj(){
- int i=0;
- if(h==23)i++;
- if(m==0)i++;
- if(s==0)i++;
- if(i==3)return(true);
- else return(false);
- };
- void DodatV(int hh, int mm, int ss){
- h=h+hh;
- m=m+mm;
- s=s+ss;
- q++;
- do{
- if(s>=60){m++;s=s-60,qs++;
- }
- if(m>=60){h++;m=m-60,qm++;
- }
- if(h>=24)h=h-24,qh++;
- }while(h>23&m>59&s>59);
- }
- void OduzetV(int hh, int mm, int ss){
- h=h-hh;
- m=m-mm;
- s=s-ss;
- q--;
- do{
- if(s<0){m--;s=s+60,qs--;
- }
- if(m<0){h--;m=m+60,qm--;
- }
- if(m<0)h=h-1,qh--;
- if(h<0)h=-1*h;
- }while(s<0&m<0&h<0);
- }
- void prosloV(){
- int i=0;
- if(q>0)i++;
- if(qh>0)i++;
- if(qm>0)i++;
- if(qs>0)i++;
- if(q<0)i--;
- if(qh<0)i--;
- if(qm<0)i--;
- if(qs<0)i--;
- if(i>0){
- th=0;
- tm=0;
- ts=0;
- if(ph>h){th=ph-(h+24);
- }
- else {th=ph-h;
- }
- tm=pm-m;
- ts=ps-s;
- do{
- if(ts>=60){tm++;ts=ts-60;
- }
- if(tm>=60){th++;tm=tm-60;
- }
- if(th>=23)th=th-23;
- }while(ts>23&tm>59&th>59);
- };
- if(i<0){
- th=0;
- tm=0;
- ts=0;
- if(ph>h){th=(h+24)-ph;
- }
- else {th=ph+h;
- }
- tm=pm+m;
- ts=ps+s;
- do{
- if(ts<0){tm--;ts=ts+60;
- }
- if(tm<0){th--;tm=tm+60;
- }
- if(tm<0)th=th-1;
- if(th<0)th=-1*th;
- }while(ts<0&tm<0&th<0);
- };
- if(i==0){
- th=0;
- tm=0;
- ts=0;
- }
- }
- void kolikoPV(int hh,int mm,int ss){
- th=0;
- tm=0;
- ts=0;
- th=hh+h;
- tm=mm+m;
- ts=ss+s;
- do{
- if(ts>=60){tm++;ts=ts-60;
- }
- if(tm>=60){th++;tm=tm-60;
- }
- if(th>=24)th=th-24;
- }while(ts>59&tm>59&th>23);
- }
- void kolikoUPV(int hh,int mm,int ss){
- th=0;
- tm=0;
- ts=0;
- th=hh-h;
- tm=mm-m;
- ts=ss-s;
- do{
- if(ts<0){tm--;ts=ts+60;
- }
- if(tm<0){th--;tm=tm+60;
- }
- if(tm<0)th=th-1;
- if(th<0)th=-1*th;
- }while(ts<0&tm<0&th<0);
- }
- };
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement