Add Shapes.cpp
This commit is contained in:
commit
982e674742
|
@ -0,0 +1,76 @@
|
|||
#include <iostream>
|
||||
#include <cmath>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class Shape {
|
||||
public:
|
||||
double getVolume() const { return 0.0; }
|
||||
};
|
||||
|
||||
class Sphere : public Shape {
|
||||
private:
|
||||
double radius;
|
||||
|
||||
public:
|
||||
|
||||
Sphere(double radius) : radius(radius) {}
|
||||
|
||||
|
||||
double getVolume() { return (4.0 / 3.0) * M_PI * pow(radius, 3); }
|
||||
};
|
||||
|
||||
class Pyramid : public Shape {
|
||||
private:
|
||||
double baseLength;
|
||||
double height;
|
||||
|
||||
public:
|
||||
|
||||
Pyramid(double baseLength, double height) {
|
||||
this->baseLength = baseLength;
|
||||
this->height = height;
|
||||
}
|
||||
|
||||
|
||||
double getBaseArea() const {
|
||||
return baseLength * baseLength;
|
||||
}
|
||||
|
||||
double getVolume() { return (1.0 / 3.0) * getBaseArea() * height; }
|
||||
};
|
||||
|
||||
class Cube : public Shape {
|
||||
private:
|
||||
double sideLength;
|
||||
|
||||
public:
|
||||
|
||||
Cube(double sideLength) : sideLength(sideLength) {}
|
||||
|
||||
|
||||
double getVolume() { return sideLength * sideLength * sideLength; }
|
||||
};
|
||||
|
||||
int main() {
|
||||
double radius, baseLength, height, sideLength;
|
||||
|
||||
cout << "Calculating Sphere, Pyramid and Cube Volume " << endl;
|
||||
|
||||
cout << "Enter sphere Radius: " << endl;
|
||||
cin >> radius;
|
||||
Sphere sphere(radius);
|
||||
cout << "Sphere Volume: " << sphere.getVolume() << endl;
|
||||
|
||||
cout << "Enter Pyramid baselength and height: ";
|
||||
cin >> baseLength >> height;
|
||||
Pyramid pyramid(baseLength, height);
|
||||
cout << "pyramid volume is: " << pyramid.getVolume() << endl;
|
||||
|
||||
cout << "Enter Cube sidelength: " << endl;
|
||||
cin >> sideLength;
|
||||
Cube cube(sideLength);
|
||||
cout << "Cube volume is: " << cube.getVolume() << endl;
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue