Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdexcept>
- #include <cmath>
- #include <iomanip>
- const double PI = 4*atan(1);
- class Krug
- {
- double poluprecnik;
- public:
- explicit Krug(double zadana) {
- if (zadana<= 0) throw std::domain_error("Neispravan poluprecnik");
- poluprecnik=zadana;
- }
- void Postavi(double postavljena) {
- if(postavljena <= 0) throw std::domain_error("Neispravan poluprecnik");
- poluprecnik=postavljena;
- }
- double DajPoluprecnik() const {
- return poluprecnik;
- }
- double DajObim() const {
- return 2*PI*poluprecnik;
- }
- double DajPovrsinu() const {
- return poluprecnik*poluprecnik*PI;
- }
- void Skaliraj(double parametar) {
- if (parametar <= 0) throw std::domain_error("Neispravan faktor skaliranja");
- poluprecnik*=parametar;
- }
- void Ispisi() const {
- std::cout << std::fixed << "R="<< std::setprecision(5)<< poluprecnik << " O="<<std::setprecision(5)<< this->DajObim() << " P=" <<std::setprecision(5)<< this->DajPovrsinu() << std::endl;
- }
- };
- class Valjak
- {
- Krug baza;
- double visina;
- public:
- explicit Valjak (double poluprecnik, double h) :baza(poluprecnik){
- if (poluprecnik<=0) throw std::domain_error("Neispravan poluprecnik");
- if (h<=0) throw std::domain_error("Neispravna visina");
- visina=h;
- }
- void Postavi(double postavi_pp, double postavi_h){
- if (postavi_pp<=0) throw std::domain_error("Neispravan poluprecnik");
- if (postavi_h<=0) throw std::domain_error("Neispravna visina");
- baza.Postavi(postavi_pp);
- visina=postavi_h;
- }
- Krug DajBazu() const{ return baza;}
- double DajPoluprecnikBaze() const { return baza.DajPoluprecnik();}
- double DajVisinu() const { return visina;}
- double DajZapreminu () const { return baza.DajPovrsinu() * visina;}
- double DajPovrsinu() const { return 2*baza.DajPovrsinu()+baza.DajObim() * visina;}
- void Skaliraj(double parametar){
- if(parametar <=0) throw std::domain_error("Neispravan faktor skaliranja");
- baza.Postavi(baza.DajPoluprecnik() * parametar);
- visina*=parametar;
- }
- void Ispisi() const {
- std::cout << std::fixed<< "R=" <<std::setprecision(5)<< baza.DajPoluprecnik() << " H=" <<std::setprecision(5)<< visina << " P=" <<std::setprecision(5)<< DajPovrsinu() << " V=" <<std::setprecision(5)<< DajZapreminu() << std::endl;
- }
- };
- int main ()
- {
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement