Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- TP 16/17 (Tutorijal 10, Zadatak 1)
- Autotestove pisala Nina Slamnik. Za sva pitanja,
- sugestije i primjedbe poslati mail na:
- nslamnik1@etf.unsa.ba
- Vrsit ce se provjera na prepisivanje tutorijala (na kraju semestra)
- */
- #include <iostream>
- #include <stdexcept>
- using namespace std;
- class StedniRacun {
- double stanje_racuna;
- public:
- StedniRacun(double stanje_racuna=0)
- {
- if(stanje_racuna < 0)
- throw logic_error("Nedozvoljeno pocetno stanje");
- StedniRacun::stanje_racuna = stanje_racuna;
- }
- void Ulozi(double ulog)
- {
- if(stanje_racuna+ulog < 0)
- throw logic_error("Transakcija odbijena");
- stanje_racuna += ulog;
- }
- void Podigni(double podig)
- {
- if(podig <= stanje_racuna)
- stanje_racuna -= podig;
- else
- throw logic_error("Transakcija odbijena");
- }
- double DajStanje() const {return stanje_racuna;}
- void ObracunajKamatu(double kamata)
- {
- if(kamata < 0)
- throw logic_error("Nedozvoljena kamatna stopa");
- stanje_racuna += stanje_racuna * ((int)kamata/100 + (int)kamata%100)/100;
- }
- };
- int main ()
- {
- return 0;
- }
- /*
- TP 16/17 (Tutorijal 10, Zadatak 2)
- Autotestove pisala Nina Slamnik. Za sva pitanja,
- sugestije i primjedbe poslati mail na:
- nslamnik1@etf.unsa.ba
- Vrsit ce se provjera na prepisivanje tutorijala (na kraju semestra)
- */
- #include <iostream>
- #include <stdexcept>
- #include <cmath>
- #include <iomanip>
- using namespace std;
- class Krug {
- double poluprecnik;
- public:
- explicit Krug(double poluprecnik)
- {
- if(poluprecnik <= 0)
- throw domain_error("Neispravan poluprecnik");
- Krug::poluprecnik = poluprecnik;
- }
- void Postavi(double broj)
- {
- if(broj <= 0)
- throw domain_error("Neispravan poluprecnik");
- poluprecnik = broj;
- }
- double DajPoluprecnik() const {return poluprecnik;}
- double DajObim() const {return 2 * 4 * poluprecnik * atan(1);}
- double DajPovrsinu() const {return poluprecnik * poluprecnik * 4 * atan(1);}
- void Skaliraj(double skalar)
- {
- if(skalar <=0)
- throw domain_error("Neispravan faktor skaliranja");
- poluprecnik *= skalar;
- }
- void Ispisi() const
- {
- cout << fixed << setprecision(5) << "R=" << DajPoluprecnik() << setprecision(5) << " O=" << DajObim() << setprecision(5) << " P=" << DajPovrsinu();
- }
- };
- class Valjak {
- Krug baza{1};
- double visina;
- public:
- explicit Valjak(double broj, double visina)
- {
- if(broj <= 0)
- throw domain_error("Neispravan poluprecnik");
- if(visina <= 0)
- throw domain_error("Neispravna visina");
- baza.Postavi(broj);
- Valjak::visina = visina;
- }
- void Postavi(double poluprecnik, double broj)
- {
- if(poluprecnik <= 0)
- throw domain_error("Neispravan poluprecnik");
- if(broj <= 0)
- throw domain_error("Neispravna visina");
- baza.Postavi(poluprecnik);
- visina = broj;
- }
- Krug DajBazu() const {return baza;}
- double DajPoluprecnikBaze() const {return baza.DajPoluprecnik();}
- double DajVisinu() const {return visina;}
- double DajPovrsinu() const {return 2*baza.DajPovrsinu() + 2*4*atan(1)*baza.DajPoluprecnik()*visina;}
- double DajZapreminu() const {return baza.DajPoluprecnik() * baza.DajPoluprecnik()*4*atan(1)*visina;}
- void Skaliraj(double skalar)
- {
- if(skalar <=0)
- throw domain_error("Neispravan faktor skaliranja");
- baza.Skaliraj(skalar);
- visina *= skalar;
- }
- void Ispisi() const
- {
- cout << fixed << setprecision(5) << "R=" << DajPoluprecnikBaze() << setprecision(5) << " H=" << DajVisinu() << setprecision(5) << " P=" << DajPovrsinu() << setprecision(5) << " V=" << DajZapreminu();
- }
- };
- int main ()
- {
- return 0;
- }
- /*
- TP 16/17 (Tutorijal 10, Zadatak 3)
- Autotestove pisala Nina Slamnik. Za sva pitanja,
- sugestije i primjedbe poslati mail na:
- nslamnik1@etf.unsa.ba
- Vrsit ce se provjera na prepisivanje tutorijala (na kraju semestra)
- */
- #include <iostream>
- #include <cmath>
- using namespace std;
- class Vektor3d
- {
- double x, y, z;
- mutable int brojac{0};
- public:
- void Postavi(double x=0, double y=0, double z=0)
- {
- Vektor3d::x = x; Vektor3d::y = y; Vektor3d::z = z;
- }
- Vektor3d(double x=0, double y=0, double z=0)
- {
- Vektor3d::x = x;
- Vektor3d::y = y;
- Vektor3d::z = z;
- }
- void PostaviX(double x)
- {
- Vektor3d::x = x;
- }
- void PostaviY(double y)
- {
- Vektor3d::y = y;
- }
- void PostaviZ(double z)
- {
- Vektor3d::z = z;
- }
- void Ocitaj(double &x, double &y, double &z) const
- {
- x = Vektor3d::x; y = Vektor3d::y; z = Vektor3d::z;
- }
- void Ispisi() const
- {
- cout << "{" << x << "," << y << "," << z << "}";
- brojac++;
- }
- int DajBrojIspisa() const
- {
- return brojac;
- }
- double DajX() const { return x; }
- double DajY() const { return y; }
- double DajZ() const { return z; }
- double DajDuzinu() const { return sqrt(x * x + y * y + z * z); }
- Vektor3d &PomnoziSaSkalarom(double s)
- {
- x *= s; y *= s; z *= s;
- return *this;
- }
- Vektor3d &SaberiSa(const Vektor3d &v)
- {
- x += v.x; y += v.y; z += v.z;
- return *this;
- }
- friend Vektor3d ZbirVektora(const Vektor3d &v1, const Vektor3d &v2);
- };
- Vektor3d ZbirVektora(const Vektor3d &v1, const Vektor3d &v2)
- {
- Vektor3d v3;
- v3.x = v1.x + v2.x;
- v3.y = v1.y + v2.y;
- v3.z = v1.z + v2.z;
- return v3;
- }
- int main ()
- {
- double x, y, z;
- Vektor3d v1(3, 1, 4), v2, v3{-2,0,-10};
- v1.Ispisi(); std::cout<<" "; v1.Ispisi();
- Ocitaj(x, y, z);
- std::cout<<" "; v2.Ispisi(); std::cout<<" ";
- v2.Ispisi(); std::cout<<" "; v3.Ispisi();
- std::cout<<" "; v3.Ispisi(); std::cout<<" ";
- v3.Ispisi();
- return 0;
- }
- /*
- TP 16/17 (Tutorijal 10, Zadatak 4)
- Autotestove pisala Nina Slamnik. Za sva pitanja,
- sugestije i primjedbe poslati mail na:
- nslamnik1@etf.unsa.ba
- Vrsit ce se provjera na prepisivanje tutorijala (na kraju semestra)
- */
- #include <iostream>
- #include <cmath>
- #include <iomanip>
- using namespace std;
- class Ugao
- {
- double radijani;
- public:
- Ugao(double radijani = 0)
- {
- if(radijani < 0)
- while(radijani < 0)
- radijani += 8*atan(1);
- else if(radijani > 8*atan(1))
- while(radijani > 8*atan(1))
- radijani -= 8*atan(1);
- Ugao::radijani = radijani;
- }
- Ugao(int stepeni, int minute, int sekunde)
- {
- const double PI(4*atan(1));
- radijani=(stepeni/180)*PI;
- radijani += minute/60;
- radijani += sekunde/3600;
- if(radijani < 0)
- while(radijani < 0)
- radijani += 8*atan(1);
- else if(radijani > 8*atan(1))
- while(radijani > 8*atan(1))
- radijani -= 8*atan(1);
- }
- void Postavi(double radijani)
- {
- if(radijani < 0)
- while(radijani < 0)
- radijani += 8*atan(1);
- else if(radijani > 8*atan(1))
- while(radijani > 8*atan(1))
- radijani -= 8*atan(1);
- Ugao::radijani = radijani;
- }
- void Postavi(int stepeni, int minute, int sekunde)
- {
- const double PI(4*atan(1));
- radijani=(stepeni/180)*PI;
- radijani += minute/60;
- radijani += sekunde/3600;
- if(radijani < 0)
- while(radijani < 0)
- radijani += 8*atan(1);
- else if(radijani > 8*atan(1))
- while(radijani > 8*atan(1))
- radijani -= 8*atan(1);
- }
- double DajRadijane() const
- {
- return radijani;
- }
- void OcitajKlasicneJedinice(int &stepeni, int &minute, int &sekunde)
- {
- const double PI(4*atan(1));
- double x=radijani*180/PI;
- stepeni=int(x);
- minute=int((x-stepeni)*3600)/60;
- sekunde=int((x-stepeni)*3600)%60;
- }
- int DajStepene() const
- {
- return (DajRadijane()*180)/(4*atan(1));
- }
- int DajMinute() const
- {
- //int stepeni=int(x);
- return (((DajRadijane()*180/(4*atan(1)))-(int)((DajRadijane()*180/(4*atan(1)))))*3600)/60;
- }
- int DajSekunde() const
- {
- //const double PI(4*atan(1));
- //double x=DajRadijani()*180/PI;
- //int stepeni=int(x);
- return (int)((DajRadijane()*180/(4*atan(1))-(int)(DajRadijane()*180/(4*atan(1))))*3600)%60;
- }
- void Ispisi() const
- {
- cout << fixed << setprecision(5) << DajRadijane();
- }
- void IspisiKlasicno() const
- {
- cout << fixed << setprecision(5) << DajStepene() << "deg " << setprecision(5) << DajMinute() << "min " << setprecision(5) << DajSekunde() << "sec";
- }
- Ugao &SaberiSa(const Ugao &u)
- {
- this->Postavi(this->DajRadijane() + u.DajRadijane());
- return *this;
- }
- Ugao &PomnoziSa(double x)
- {
- this->Postavi(this->DajRadijane() * x);
- return *this;
- }
- friend Ugao ZbirUglova(const Ugao &u1, const Ugao &u2)
- {
- Ugao u3(u1.DajRadijane() + u2.DajRadijane());
- return u3;
- }
- friend Ugao ProduktUglaSaBrojem(const Ugao &u, double x)
- {
- Ugao u1(u.DajRadijane()*x);
- return u1;
- }
- };
- int main ()
- {
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement