GetValidatedInt(const char* strMessage, int nMinimumRange = 0, int nMaximumRange = 0); This function should first display the provided message to the screen then use cin to get an int from the user. Error check and validate to ensure a legal integer was entered. If not, clear the cin buffer using clear() and ignore() and try again (Note: the buffer still needs to be cleared even if this step was successful). If a legal integer was entered, check its value to see if it is within the provided minimum and maximum range (inclusive). If the user input was within the range, return the integer. If not, get input again. The range check should be ignored if BOTH the minimum and maximum parameters are 0, so any valid integer is acceptable. You should be using a loop so that the method does not return until a valid and within range (if the range is not 0) integer was totally provided
int class Inventory
{
std::
static unsigned int m_ItemsMade;
void CreateItem()
{
std::string name = "Item " + std::to_string(m_ItemsMade);
m_Items.push_back(new Item(name.c_str(), 100 * m_ItemsMade));
++m_ItemsMade;
}
public:
Inventory()
{
CreateItem();
CreateItem();
CreateItem();
}
void Print() const
{
size_t* nSize = new size_t(m_Items.size());
std::cout << "_____INVENTORY_____\n";
for (unsigned int i = 0; i < *nSize; ++i)
{
m_Items[i]->Print();
}
}
};
GetValidatedInt(const char* strMessage, int nMinimumRange = 0, int nMaximumRange = 0);
This function should first display the provided message to the screen then use cin to get an int from the user. Error check and validate to ensure a legal integer was entered. If not, clear the cin buffer using clear() and ignore() and try again (Note: the buffer still needs to be cleared even if this step was successful).
If a legal integer was entered, check its value to see if it is within the provided minimum and maximum range (inclusive). If the user input was within the range, return the integer. If not, get input again. The range check should be ignored if BOTH the minimum and maximum parameters are 0, so any valid integer is acceptable.
You should be using a loop so that the method does not return until a valid and within range (if the range is not 0) integer was totally provided.
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images