#pragma once #include #include "Square.h" #include "SquarePrism.h" #include class UserInteraction { public: int numberOfSquares; int numberOfSquarePrisms; std::vector squareList; std::vector squarePrismList; void getUserInput() { std::cout << "Enter number of squares:\n"; std::cin >> this->numberOfSquares; std::cout << "Enter number of square prisms:\n"; std::cin >> this->numberOfSquarePrisms; }; void execute() { getUserInput(); setData(); displayData(); }; void setData() { srand(time(NULL)); for (size_t i = 0; i < numberOfSquares; i++) { squareList.push_back(Square(rand() % 101)); } for (size_t i = 0; i < numberOfSquarePrisms; i++) { squarePrismList.push_back(SquarePrism(rand() % 101, rand() % 101)); } }; void displayData() { double maxSquareArea = 0; int maxSquareAreaIndex; double maxSquarePrismDiagonal = 0; int maxSquarePrismDiagonalIndex; for (size_t i = 0; i < squareList.size(); i++) { if (squareList[i].getArea() > maxSquareArea) { maxSquareArea = squareList[i].getArea(); maxSquareAreaIndex = i; } std::cout << "Square; index = " << i << "; side = " << squareList[i].side << "; area = " << squareList[i].getArea() << "\n"; } std::cout << "Max Square Area = " << maxSquareArea << " at Square with index " << maxSquareAreaIndex << "\n\n"; for (size_t i = 0; i < squarePrismList.size(); i++) { if (squarePrismList[i].getDiagonal() > maxSquarePrismDiagonal) { maxSquarePrismDiagonal = squarePrismList[i].getDiagonal(); maxSquarePrismDiagonalIndex = i; } std::cout << "Square Prism; index = " << i << "; side = " << squarePrismList[i].side << "; height = " << squarePrismList[i].height << "; diagonal = " << squarePrismList[i].getDiagonal() << "\n"; } std::cout << "Max Square Prism Diagonal = " << maxSquarePrismDiagonal << " at Square Prism with index " << maxSquarePrismDiagonalIndex << "\n\n"; }; };