Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- class Ugao{
- double radijani;
- void Normaliziraj(){
- while(radijani > 2 * 4 * atan(1)) radijani -= 2 * 4 * atan(1);
- while(radijani < 0) radijani += 2 * 4 * atan(1);
- }
- public:
- Ugao(double radijani = 0){
- Postavi(radijani);
- }
- Ugao(int stepeni, int minute, int sekunde){
- Postavi(stepeni, minute, sekunde);
- }
- void Postavi(double radijani){
- Ugao::radijani = radijani;
- Normaliziraj();
- }
- void Postavi(int stepeni, int minute, int sekunde);
- double DajRadijane() const{
- return radijani;
- }
- void OcitajKlasicneJedinice(int &stepeni, int &minute, int &sekunde){
- stepeni = DajStepene();
- minute = DajMinute();
- sekunde = DajSekunde();
- }
- int DajStepene() const{
- double stepeni(radijani*(180 / (4*atan(1))));
- return int(stepeni);
- }
- int DajMinute() const{
- double minute(radijani*(180 / (4*atan(1))));
- return int((minute-DajStepene())*60 /* +1e-6*/);
- }
- int DajSekunde() const{
- double sekunde(radijani*(180 / (4*atan(1))));
- return int((sekunde - DajStepene() - DajMinute()/60.) * 3600 /*+ 1e-6*/);
- }
- void Ispisi() const;
- void IspisiKlasicno() const;
- Ugao &SaberiSa(const Ugao &u){
- radijani += u.DajRadijane();
- Normaliziraj();
- return *this;
- }
- Ugao &PomnoziSa(double x){
- radijani *= x;
- Normaliziraj();
- return *this;
- }
- friend Ugao ZbirUglova(const Ugao &u1, const Ugao &u2);
- friend Ugao ProduktUglaSaBrojem(const Ugao &u, double x);
- };
- void Ugao::Postavi(int stepeni, int minute, int sekunde)
- {
- radijani = (stepeni + minute/60. + sekunde/3600.) / (180. / (4*atan(1)));
- Normaliziraj();
- }
- Ugao ZbirUglova(const Ugao &u1, const Ugao &u2){
- Ugao u3(u1.DajRadijane() + u2.DajRadijane());
- return u3;
- //return Ugao(u1.DajRadijane() + u2.DajRadijane());
- }
- Ugao ProduktUglaSaBrojem(const Ugao &u, double x){
- return Ugao(u.DajRadijane() * x);
- }
- int main()
- {
- cout << "Hello world!" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement