Вы можете добавить все введенные числа в вектор, и всякий раз, когда вы получаете новое число, проверяйте, есть ли оно уже в векторе. Включите эти заголовки:
#include <vector>
#include <algorithm> // for std::find
Сделайте такой вектор
std::vector<int> pastEntries;
Выполните проверку следующим образом:
if (std::find(pastEntries.begin(), pastEntries.end(), num) != pastEntries.end()) {
std::cout << "\nWhy did you enter " << num << "? :) " << endl;
...
И когда номер не был найден, добавьте его к вектору вот так (вы можете поставить это после блока if
):
pastEntries.push_back(num);
В качестве альтернативы вы можете использовать std::set
:
std::set<int> pastEntries;
Вставьте в набор вот так:
pastEntries.insert(num);
И найдите номер в наборе следующим образом:
if (pastEntries.find(num) != pastEntries.end()) {
Или введите номер, узнав, был ли он уже вставлен вот так :
if (!pastEntries.insert(num).second) {