C++ Piramida
unknown
c_cpp
4 years ago
2.3 kB
10
Indexable
#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;
}Editor is loading...