Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // main.cpp
- #include <iostream>
- #include "Bryla.h"
- #include "Stozek.h"
- #include "Szescian.h"
- #include "Kula.h"
- #include "Prostopadloscian.h"
- #include "CzworoscianForemny.h"
- using namespace std;
- int main()
- {
- Bryla* wsk = new Prostopadloscian(2, 3, 7);
- wsk->pobierz_dane();
- cout << endl;
- delete wsk;
- wsk = new CzworoscianForemny(8.5);
- wsk->pobierz_dane();
- cout << endl;
- delete wsk;
- return 0;
- }
- // Bryla.h
- #ifndef BRYLA_H
- #define BRYLA_H
- class Bryla
- {
- public:
- virtual double objetosc() = 0;
- virtual double pole_powierzchni_calkowitej() = 0;
- virtual void pobierz_dane() = 0;
- };
- #endif // BRYLA_H
- // Stozek.h
- #ifndef STOZEK_H
- #define STOZEK_H
- #include "Bryla.h"
- class Stozek : public Bryla
- {
- public:
- Stozek(double, double);
- double objetosc();
- double pole_powierzchni_calkowitej();
- void pobierz_dane();
- double tworzaca();
- private:
- double r;
- double h;
- };
- #endif // STOZEK_H
- // Stozek.cpp
- #include "Stozek.h"
- #include "../head.h"
- #include <cmath>
- #include <iostream>
- using namespace std;
- /*class Stozek : public Bryla
- {
- public:
- Stozek(double, double);
- double objetosc();
- double pole_powierzchni_calkowitej();
- void pobierz_dane();
- double tworzaca();
- private:
- double r;
- double h;
- };*/
- Stozek::Stozek(double promien, double wysokosc) : r(promien), h(wysokosc)
- {
- }
- double Stozek::objetosc()
- {
- return PI * r * r * h / 3;
- }
- double Stozek::pole_powierzchni_calkowitej()
- {
- return PI * r * (r + tworzaca());
- }
- void Stozek::pobierz_dane()
- {
- cout << "Stozek:\n";
- cout << "\t* promien = " << r << endl;
- cout << "\t* wysokosc = " << h << endl;
- cout << "\t* tworzaca = " << tworzaca() << endl;
- cout << "\t* objetosc = " << objetosc() << endl;
- cout << "\t* pole powierzchni calkowitej = " << pole_powierzchni_calkowitej() << endl;
- }
- double Stozek::tworzaca()
- {
- return pow(r*r + h*h, 0.5);
- }
- // Szescian.h
- #ifndef SZESCIAN_H
- #define SZESCIAN_H
- #include "Bryla.h"
- class Szescian : public Bryla
- {
- public:
- Szescian(double);
- double objetosc();
- double pole_powierzchni_calkowitej();
- void pobierz_dane();
- private:
- double x;
- };
- #endif // SZESCIAN_H
- // Szescian.cpp
- #include "Szescian.h"
- #include <iostream>
- using namespace std;
- /*class Szescian : public Bryla
- {
- public:
- Szescian(double);
- double objetosc();
- double pole_powierzchni_calkowitej();
- void pobierz_dane();
- private:
- double x;
- };*/
- Szescian::Szescian(double bok) : x(bok)
- {
- }
- double Szescian::objetosc()
- {
- return x * x * x;
- }
- double Szescian::pole_powierzchni_calkowitej()
- {
- return 6 * x * x;
- }
- void Szescian::pobierz_dane()
- {
- cout << "Szescian:\n";
- cout << "\t* dlugosc boku = " << x << endl;
- cout << "\t* pole powierzchni calkowitej = " << pole_powierzchni_calkowitej() << endl;
- cout << "\t* objetosc = " << objetosc() << endl;
- }
- // head.h
- #ifndef HEAD_H
- #define HEAD_H
- const double PI = 3.141592;
- #endif // HEAD_H
- // Kula.h
- #ifndef KULA_H
- #define KULA_H
- #include "Bryla.h"
- class Kula : public Bryla
- {
- public:
- Kula(double);
- double objetosc();
- double pole_powierzchni_calkowitej();
- void pobierz_dane();
- private:
- double r;
- };
- #endif // KULA_H
- // Kula.cpp
- #include "Kula.h"
- #include "../head.h"
- #include <iostream>
- using namespace std;
- /*class Kula : public Bryla
- {
- public:
- Kula(double);
- double objetosc();
- double pole_powierzchni_calkowitej();
- void pobierz_dane();
- private:
- double r;
- };*/
- Kula::Kula(double x) : r(x)
- {
- }
- double Kula::objetosc()
- {
- return 4/3 * PI * r*r*r;
- }
- double Kula::pole_powierzchni_calkowitej()
- {
- return 4 * PI * r * r;
- }
- void Kula::pobierz_dane()
- {
- cout << "Kula:\n";
- cout << "\t* promien = " << r << endl;
- cout << "\t* objetosc = " << objetosc() << endl;
- cout << "\t* pole powierzchni calkowitej = " << pole_powierzchni_calkowitej() << endl;
- }
- // Prostopadloscian.h
- #ifndef PROSTOPADLOSCIAN_H
- #define PROSTOPADLOSCIAN_H
- #include "Bryla.h"
- class Prostopadloscian : public Bryla
- {
- public:
- Prostopadloscian(double, double, double);
- double objetosc();
- double pole_powierzchni_calkowitej();
- void pobierz_dane();
- private:
- double a;
- double b;
- double c;
- };
- #endif // PROSTOPADLOSCIAN_H
- // Prostopadloscian.cpp
- #include "Prostopadloscian.h"
- #include <iostream>
- using namespace std;
- /*class Prostopadloscian : public Bryla
- {
- public:
- Prostopadloscian(double, double, double);
- double objetosc();
- double pole_powierzchni_calkowitej();
- void pobierz_dane();
- private:
- double a;
- double b;
- double c;
- };*/
- Prostopadloscian::Prostopadloscian(double x, double y, double z) : a(x), b(y), c(z)
- {
- }
- double Prostopadloscian::objetosc()
- {
- return a * b * c;
- }
- double Prostopadloscian::pole_powierzchni_calkowitej()
- {
- return 2 * (a * b + b * c + a * c);
- }
- void Prostopadloscian::pobierz_dane()
- {
- cout << "Prostopadloscian:\n";
- cout << "\t* Dlugosci bokow:\n";
- cout << "\t\ta = " << a << endl;
- cout << "\t\tb = " << b << endl;
- cout << "\t\tc = " << c << endl;
- cout << "\t* Objetosc = " << objetosc() << endl;
- cout << "\t* Pole powierzchni calkowitej = " << pole_powierzchni_calkowitej() << endl;
- }
- // CzworoscianForemny.h
- #ifndef CZWOROSCIANFOREMNY_H
- #define CZWOROSCIANFOREMNY_H
- #include "Bryla.h"
- class CzworoscianForemny : public Bryla
- {
- public:
- CzworoscianForemny(double);
- double objetosc();
- double pole_powierzchni_calkowitej();
- void pobierz_dane();
- private:
- double x;
- };
- #endif // CZWOROSCIANFOREMNY_H
- // CzworoscianForemny.cpp
- #include "CzworoscianForemny.h"
- #include <cmath>
- #include <iostream>
- using namespace std;
- /*class CzworoscianForemny : public Bryla
- {
- public:
- CzworoscianForemny(double);
- double objetosc();
- double pole_powierzchni_calkowitej();
- void pobierz_dane();
- private:
- double x;
- };*/
- CzworoscianForemny::CzworoscianForemny(double bok) : x(bok)
- {
- }
- double CzworoscianForemny::objetosc()
- {
- return x * x * x * pow(2,0.5) / 12;
- }
- double CzworoscianForemny::pole_powierzchni_calkowitej()
- {
- return x * x * pow(3, 0.5);
- }
- void CzworoscianForemny::pobierz_dane()
- {
- cout << "Czworoscian foremny:\n";
- cout << "\t* Dlugosc boku = " << x << endl;
- cout << "\t* Objetosc = " << objetosc() << endl;
- cout << "\t* Pole powierzchni calkowitej = " << pole_powierzchni_calkowitej() << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment