Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- const double PI=3.14159265;
- class Ugao
- {
- double radijan;
- void Pretvori(double &rad);
- public:
- Ugao(double radijan=0);
- Ugao(int stepeni, int minute, int sekunde);
- void Postavi(double rad){ Pretvori(rad); Ugao::radijan=rad;}
- void Postavi(int stepeni, int minute, int sekunde);
- double DajRadijane() const { return radijan;}
- void OcitajKlasicneJedinice(int &stepeni, int &minute, int &sekunde);
- int DajStepene() const { return radijan*180/PI;}
- int DajMinute() const { return (DajRadijane()*180/PI-DajStepene())*60;}
- int DajSekunde() const { return (((DajRadijane()*180/PI-DajStepene())*60)-DajMinute())*60;}
- void Ispisi() const;
- void IspisiKlasicno() const;
- Ugao &PomnoziSa(double x);
- Ugao &SaberiSa(const Ugao &u);
- friend Ugao ZbirUglova(const Ugao u1, const Ugao u2);
- friend Ugao ProduktUglaSaBrojem(const Ugao &u, double x);
- };
- void Ugao::Pretvori(double &rad)
- {
- double stepeni(rad*180/PI);
- while(stepeni>360)
- {
- stepeni-=360;
- }
- if(stepeni<0)
- stepeni=360-stepeni;
- rad=stepeni*PI/180;
- }
- void Postavi(int stepeni, int minute, int sekunde)
- {
- double stepen=stepeni+minute/60.+sekunde/3600.;
- Ugao::radijan=(stepen*PI)/180;
- }
- void Ugao::Ispisi() const
- {
- std::cout<<"Ugao u radijanima je: "<<DajRadijane();
- }
- void Ugao::OcitajKlasicneJedinice(int &stepeni, int &minute, int &sekunde)
- {
- stepeni=DajStepene();
- minute=DajMinute();
- sekunde=DajSekunde();
- }
- void Ugao::IspisiKlasicno() const
- {
- std::cout<<"Dati ugao ima: "<<DajStepene()<<"deg, "<<DajMinute()
- <<"min, "<<DajSekunde()<<"sek.\n";
- }
- Ugao &Ugao::SaberiSa(const Ugao &u)
- {
- double pom(radijan);
- pom+=u.radijan;
- Pretvori(pom);
- radijan=pom;
- return *this;
- }
- Ugao &Ugao::PomnoziSa(double x)
- {
- double pom(radijan);
- pom*=x;
- Pretvori(pom);
- radijan=pom;
- return *this;
- }
- Ugao ZbirUglova(const Ugao &u1, const Ugao &u2)
- {
- Ugao u3;
- u3.radijan=u1.radijan+u2.radijan;
- return u3;
- }
- Ugao ProduktUglaSaBrojem(const Ugao &u, double x)
- {
- Ugao novi;
- novi.radijan=u.radijan*x;
- return novi;
- }
- int main()
- {
- Ugao u;
- int stepeni(0), minute(0), sekunde(0);
- double radijan, x;
- std::cout<<"Unesi ugao u radijanima: ";
- std::cin>>radijan;
- u.Postavi(radijan);
- std::cout<<"Uneseni ugao ima: "<<u.DajRadijane()<<std::endl;
- u.Ispisi();
- std::cout<<std::endl;
- u.IspisiKlasicno();
- std::cout<<std::endl;
- u.OcitajKlasicneJedinice(stepeni, minute, sekunde);
- std::cout<<stepeni<<" "<<minute<<" "<<sekunde<<std::endl;
- std::cout<<"Unesi broj za mnozenje: ";
- std::cin>>x;
- u.PomnoziSa(x);
- std::cout<<u.DajRadijane()<<std::endl;
- u.Ispisi();
- std::cout<<std::endl;
- u.IspisiKlasicno();
- std::cout<<std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement