Ограничить величину int c++?

167
14 ноября 2018, 11:10

Например есть

int a;
cin >> a;

И нужно при записи ограничить величину, то есть например что бы a было больше 0 и не больше 100.

Возможно ли такое в c++ и как это сделать?

Answer 1

Так годится?

int inputInt(const char * prompt, int m = INT_MIN, int M = INT_MAX)
{
    int N;
    for (;;) {
        std::cout << prompt << " (целое от " << m << " до " << M << "): " << std::flush;
        if ((std::cin >> N).good() && (m <= N) && (N <= M)) return N;
        if (std::cin.fail()) {
            std::cin.clear();
            std::cout << "Неверный ввод, повторите.\n";
        } else {
            std::cout << "Число вне допустимого диапазона значений. Повторите ввод.\n";
        }
        std::cin.ignore(100,'\n');
    }
}
a = inputInt("Введите число от 0 до 100",0,100);
READ ALSO
Приложение виснет при больших данных

Приложение виснет при больших данных

Да, допускаю, что сформулировал заголовок глупоДело вот в чём, есть приложение, часть которого занимается поиском директорий и определённых...

167
Ограничение доступа к интерфейсу DBus

Ограничение доступа к интерфейсу DBus

Начал изучать работу межпроцессного взаимодействия с помощью DBus в QtНачал с примера ping-pong

182
Неправильный вывод суммы матриц С++

Неправильный вывод суммы матриц С++

Начал повторять C++ и возникла проблема при суммировании матриц, что вывод 2-х матриц А и В нормальный, а при выводе матрицы А+В выходит вот что...

182