Advertisement
Guest User

Untitled

a guest
Feb 17th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 2.34 KB | None | 0 0
  1. //Prosze napisac program  wktorym jest klasa o nazwie trapez
  2. //he obiekty reprezentuja trapezy na plaszczysznie. Klasa ta ma pole prywatne
  3. // podstawa przechowuje ona dlugosc podstawy trapezu (liczba zmienno przecinkowa
  4. //podwojnej precyzji). Proszę wyprowadzić z niej w sposob publiczny
  5. // klase trapezRownRam ktora ma swoje wlasne pole kat i ramie
  6. //takiego wektora. Ponadto odpowiednia metoda klasy pochodnej
  7. //zwraca pole powierchni trapezu rownoraminnego
  8. // S = (a-b* cos(n)) *b * cos(n)
  9. //gdzie a = podstawa, b = ramie, n- kat miedzy ramieniem a podstawa
  10. //program powinnien dla trapezu rownareminnego wysweitlic pole jego powierzchni
  11. // z odpowiednim komentarzem. Inicjalizacja obiektow tej klasy nastepuje
  12. //z klawaitury na zadanie programu. Kazda klasa ma swoj konstruktor
  13.  
  14. // Prosze tuworzyc w funkcji main po jednym obiekcie dla klasy bazowej i pochodnej
  15. // Odpowiednia metoda o nazwie wypisz powinna byc wywolywana polimorficznie
  16. // wypisac na ekran cala zawartosc obiektu pierwszego potem zawartosc obiektu
  17. // drygiego z odpowednim komentarzem
  18.  
  19.  
  20. #include<iostream>
  21. #include <cmath>
  22.  
  23.  
  24. class trapez {
  25.   double podstawa;
  26.  
  27.   public:
  28.     trapez();
  29.     double zwroc_podstawe();
  30.     virtual void wypisz();
  31. };
  32.  
  33. trapez::trapez() {
  34.   std::cout<<"Podaj podstawe trapezu: "<<std::endl;
  35.   std::cin>>podstawa;
  36.  
  37. }
  38.  
  39. void trapez::wypisz() {
  40.   std::cout<<"Podstawa trapezu: "<<podstawa<<std::endl;
  41. }
  42.  
  43.  
  44. double trapez::zwroc_podstawe() {
  45.   return podstawa;
  46. };
  47.  
  48.  
  49. class trapezRownRam : public trapez {
  50.   double ramie;
  51.   double kat;
  52.   double S;
  53.   public:
  54.     trapezRownRam();
  55.     double pole_powierzchni();
  56.     void wypisz();
  57. };
  58.  
  59.  
  60. trapezRownRam::trapezRownRam() : trapez() {
  61.   std::cout<<"Podaj ramie: "<<std::endl;
  62.   std::cin>>ramie;
  63.   std::cout<<"Podaj kat:" <<std::endl;
  64.   std::cin>>kat;
  65. };
  66.  
  67. double trapezRownRam::pole_powierzchni() {
  68.   double a = zwroc_podstawe();
  69.   double b = ramie;
  70.   double n = kat;
  71.   S = (a-b * cos(kat)) * b * cos(n);
  72.   return S;
  73. };
  74.  
  75. void trapezRownRam::wypisz() {
  76.   std::cout<<"Podstawa trapezu: "<<zwroc_podstawe()<<std::endl;
  77.   std::cout<<"Kat: "<<kat<<std::endl;
  78.   std::cout<<"Ramie: "<<ramie<<std::endl;
  79.   std::cout<<"Pole powrzechni: "<< pole_powierzchni()<<std::endl;
  80. }
  81.  
  82.  
  83.  
  84.  
  85. int main() {
  86.   trapez t1;
  87.   trapez *t2 = new trapezRownRam;
  88.  
  89.   t1.wypisz();
  90.   t2->wypisz();
  91.   return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement