Advertisement
plarmi

workcpp_3_1 fixed

Jun 14th, 2023
609
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.97 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. class AreaCalculator {
  4. public:
  5.     static double triangleArea(double base, double height) {
  6.         numCalculations++;
  7.         return 0.5 * base * height;
  8.     }
  9.  
  10.     static double triangleArea(double sideA, double sideB, double sideC) {
  11.         numCalculations++;
  12.         double p = (sideA + sideB + sideC) / 2;
  13.         return sqrt(p * (p - sideA) * (p - sideB) * (p - sideC));
  14.     }
  15.  
  16.     static double rectangleArea(double length, double width) {
  17.         numCalculations++;
  18.         return length * width;
  19.     }
  20.  
  21.     static double squareArea(double side) {
  22.         numCalculations++;
  23.         return side * side;
  24.     }
  25.  
  26.     static double rhombusArea(double diagonal1, double diagonal2) {
  27.         numCalculations++;
  28.         return 0.5 * diagonal1 * diagonal2;
  29.     }
  30.  
  31.     static int getNumCalculations() {
  32.         return numCalculations;
  33.     }
  34.  
  35. private:
  36.     static int numCalculations;
  37. };
  38.  
  39. int AreaCalculator::numCalculations = 0;
  40.  
  41. int main() {
  42.     double base = 5.0;
  43.     double height = 3.0;
  44.     double area = AreaCalculator::triangleArea(base, height);
  45.     std::cout << "Triangle area: " << area << std::endl;
  46.  
  47.     double sideA = 3.0;
  48.     double sideB = 4.0;
  49.     double sideC = 5.0;
  50.     area = AreaCalculator::triangleArea(sideA, sideB, sideC);
  51.     std::cout << "Triangle area: " << area << std::endl;
  52.  
  53.     double length = 5.0;
  54.     double width = 3.0;
  55.     area = AreaCalculator::rectangleArea(length, width);
  56.     std::cout << "Rectangle area: " << area << std::endl;
  57.  
  58.     double side = 4.0;
  59.     area = AreaCalculator::squareArea(side);
  60.     std::cout << "Square area: " << area << std::endl;
  61.  
  62.     double diagonal1 = 6.0;
  63.     double diagonal2 = 8.0;
  64.     area = AreaCalculator::rhombusArea(diagonal1, diagonal2);
  65.     std::cout << "Rhombus area: " << area << std::endl;
  66.  
  67.     int numCalculations = AreaCalculator::getNumCalculations();
  68.     std::cout << "Number of calculations: " << numCalculations << std::endl;
  69.  
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement