Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <stdexcept>
- #include <cmath>
- #include <vector>
- const double PI=4*atan(1);
- using namespace std;
- class Ugao {
- double radijani;
- void Domen (double &u) {
- if (u>2*PI) u-=2*PI;
- if(u<0) u+=2*PI;
- }
- public:
- Ugao (double radijani=0) {Ugao::radijani=radijani;}
- Ugao (int stepeni, int minute, int sekunde) {
- Ugao::radijani=(stepeni*3600+minute*60+sekunde)*(PI/(180*3600));
- Domen(Ugao::radijani);
- }
- void Postavi(double radijani) {Ugao::radijani=radijani; }
- void Postavi(int stepeni, int minute, int sekunde) {
- Ugao::radijani=(stepeni*3600+minute*60+sekunde)*(PI/(180*3600));
- Domen(Ugao::radijani); }
- void OcitajKlasicneJedinice(int &stepeni, int &minute, int &sekunde);
- int DajStepene () const { return static_cast<int>((radijani*180/PI*3600)/60); }
- int DajMinute () const {return static_cast<int>((radijani*180/PI*3600)/60)%60; }
- int DajSekunde () const { return static_cast<int>(radijani*180/PI*3600)%60; }
- void Ispisi () const { cout<<radijani; }
- void IspisiKlasicno() const;
- Ugao &SaberiSa(const Ugao &u) { Ugao::radijani += u.radijani; Domen(Ugao::radijani); return *this; }
- Ugao &PomnoziSa(double x) { Ugao::radijani*=x; return *this; }
- friend Ugao ZbirUglova(const Ugao &u1, const Ugao &u2);
- friend Ugao ProduktUglaSaBrojem(const Ugao &u, double x);
- };
- void Ugao::OcitajKlasicneJedinice(int &stepeni, int &minute, int &sekunde) {
- int temp=(radijani*180/PI)*3600;
- sekunde=temp%60;
- temp/=60;
- minute=temp%60;
- temp/=60;
- stepeni=temp;
- }
- void Ugao::IspisiKlasicno() const {
- int temp=(radijani*180/PI)*3600;
- int sekunde=temp%60;
- temp/=60;
- int minute=temp%60;
- temp/=60;
- int stepeni=temp;
- cout<<stepeni<<"deg"<<minute<<"min"<<sekunde<<"sec";
- }
- Ugao ZbirUglova(const Ugao &u1, const Ugao &u2) {
- Ugao rez;
- rez.radijani=u1.radijani+u2.radijani;
- return rez;
- }
- Ugao ProduktUglaSaBrojem(const Ugao &u, double x) {
- Ugao rez;
- rez.radijani=u.radijani*x;
- return rez;
- }
- int main () {
- Ugao u1, u2;
- u1.Postavi(3693);
- u1.Ispisi();
- cout<<endl;
- u1.Postavi(45,30,90);
- int sek,minu,step;
- u1.OcitajKlasicneJedinice(step,minu,sek);
- cout<<step<<"deg"<<minu<<"min"<<sek<<"sec"<<endl;
- u1.IspisiKlasicno();
- cout<<endl;
- u1.SaberiSa(u2);
- u1.Ispisi();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement