#cpp #visual_cpp
Например есть int a; cin >> a; И нужно при записи ограничить величину, то есть например что бы a было больше 0 и не больше 100. Возможно ли такое в c++ и как это сделать?
Ответы
Ответ 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);
Комментариев нет:
Отправить комментарий