C++ Piramida

mail@pastecode.io avatar
unknown
c_cpp
3 years ago
2.3 kB
3
Indexable
Never
#include<iostream>
using namespace std;

/* Napraviti klasu Piramida. Klasa treba da sadrži stranice baze A i B, te visinu H. Unutar main programa kreirati 
 * dva objekta klase Piramida, unijeti njihove podatke, te ispisati kolike su površine obje piramide, te koja površina je veća i za koliko. */

template <typename T>
class Piramida {
private:
    T A;
    T B;
    T H;
public:
    //Konstruktori

    Piramida(T stranicaA, T stranicaB, T visinaH) {
        this->A = stranicaA;
        this->B = stranicaB;
        this->H = visinaH;
    }
    
    Piramida() {
        this->A = 0;
        this->B = 0;
        this->H = 0;
    }
    // Geteri

    T getA() const {
        return A;
    }

    T getB() const {
        return B;
    }

    T getH() const {
        return H;
    }

    // Seteri

    void setA(T A) {
        this->A = A;
    }

    void setB(T B) {
        this->B = B;
    }

    void setH(T H) {
        this->H = H;
    }

    T povrsina() const {
        T povrsinaPiramide;
        povrsinaPiramide = 2 * A * H;
        return povrsinaPiramide;
    }

    bool operator>(Piramida piramida) {
        return this->povrsina() > piramida.povrsina();
    }

    bool operator<(Piramida piramida) {
        return this->povrsina() < piramida.povrsina();
    }

    void postaviVrijednosti() {
        T a, b, h;
        cout << "Unesite stranicu A: ";
        cin >> a;
        cout << "Unesite stranicu B: ";
        cin >> b;
        cout << "Unesite visinu H: ";
        cin >> h;
        
        this->A = a;
        this->B = b;
        this->H = h;
        
        cout << endl;
    }
};

int main() {
    Piramida<float> piramida1;
    Piramida<float> piramida2;

    cout << "Postavite vrijednosti za piramidu1" << endl;
    piramida1.postaviVrijednosti();
    
    cout << "Postavite vrijednosti za piramidu2" << endl;
    piramida2.postaviVrijednosti();
    
    if (piramida1 > piramida2)
        cout << "Povrsina piramide1 je veca od piramide2 za " << abs(piramida1.povrsina() - piramida2.povrsina()) << "" << endl;
    else if (piramida2 > piramida1)
        cout << "Povrsina piramide2 je veca od piramide1 za " << abs(piramida2.povrsina() - piramida1.povrsina()) << "" << endl;
    else
        cout << "Povrsine su jednake!" << endl;
    
    return 0;
}