OOP_zadanie5/UserInteraction.h

78 lines
1.9 KiB
C++

#pragma once
#include <iostream>
#include "Square.h"
#include "SquarePrism.h"
#include <vector>
class UserInteraction
{
public:
int numberOfSquares;
int numberOfSquarePrisms;
std::vector<Square> squareList;
std::vector<SquarePrism> 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";
};
};