Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdexcept>
  3. #include <cmath>
  4. #include <iomanip>
  5. const double PI = 4*atan(1);
  6. class Krug
  7. {
  8. double poluprecnik;
  9. public:
  10. explicit Krug(double zadana) {
  11. if (zadana<= 0) throw std::domain_error("Neispravan poluprecnik");
  12. poluprecnik=zadana;
  13. }
  14. void Postavi(double postavljena) {
  15. if(postavljena <= 0) throw std::domain_error("Neispravan poluprecnik");
  16. poluprecnik=postavljena;
  17. }
  18. double DajPoluprecnik() const {
  19. return poluprecnik;
  20. }
  21. double DajObim() const {
  22. return 2*PI*poluprecnik;
  23. }
  24. double DajPovrsinu() const {
  25. return poluprecnik*poluprecnik*PI;
  26. }
  27. void Skaliraj(double parametar) {
  28. if (parametar <= 0) throw std::domain_error("Neispravan faktor skaliranja");
  29. poluprecnik*=parametar;
  30. }
  31. void Ispisi() const {
  32. std::cout << std::fixed << "R="<< std::setprecision(5)<< poluprecnik << " O="<<std::setprecision(5)<< this->DajObim() << " P=" <<std::setprecision(5)<< this->DajPovrsinu() << std::endl;
  33. }
  34. };
  35.  
  36. class Valjak
  37. {
  38. Krug baza;
  39. double visina;
  40. public:
  41. explicit Valjak (double poluprecnik, double h) :baza(poluprecnik){
  42. if (poluprecnik<=0) throw std::domain_error("Neispravan poluprecnik");
  43. if (h<=0) throw std::domain_error("Neispravna visina");
  44. visina=h;
  45. }
  46. void Postavi(double postavi_pp, double postavi_h){
  47. if (postavi_pp<=0) throw std::domain_error("Neispravan poluprecnik");
  48. if (postavi_h<=0) throw std::domain_error("Neispravna visina");
  49. baza.Postavi(postavi_pp);
  50. visina=postavi_h;
  51. }
  52. Krug DajBazu() const{ return baza;}
  53. double DajPoluprecnikBaze() const { return baza.DajPoluprecnik();}
  54. double DajVisinu() const { return visina;}
  55. double DajZapreminu () const { return baza.DajPovrsinu() * visina;}
  56. double DajPovrsinu() const { return 2*baza.DajPovrsinu()+baza.DajObim() * visina;}
  57. void Skaliraj(double parametar){
  58. if(parametar <=0) throw std::domain_error("Neispravan faktor skaliranja");
  59. baza.Postavi(baza.DajPoluprecnik() * parametar);
  60. visina*=parametar;
  61. }
  62. void Ispisi() const {
  63. 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;
  64. }
  65. };
  66. int main ()
  67. {
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement