Форум программистов, компьютерный форум, киберфорум
Наши страницы

ввод только чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнить массив первыми N положительными нечетными числами http://www.cyberforum.ru/cpp-beginners/thread963781.html
Добрый вечер!Интересует вопрос как сделать так чтобы пользователь вводил целое число N и выполнялось создание массива целых чисел размера N? Заданице:Дано целое число N (> 0) и указатель на...
C++ Крестики нолики на SDL - не выводится крестик Программа выводит игровое поле на экран и реагирует на нажатия каждого и 9 квадратов. Но при нажатии должен выводиться крестик, а он почему-то не выводится Может, кто знает, в чем дело? //... http://www.cyberforum.ru/cpp-beginners/thread963778.html
Частота встречаемости символов в файле C++
Написать программу которая подсчитывает частоту встречаемости символов в заданном текстовом файле. На вход программе подается имя входного текстового файла input.txt На выход в выходной файл...
C++ Закрутить массив в вектор
На паре задали задачу: Закрутить массив в вектор. Написал вот такое решение: Вопрос можно ли как то оптимизировать? #include <iostream> using namespace std; void Matrix(int ** b,int *...
C++ Переменная типа char http://www.cyberforum.ru/cpp-beginners/thread963765.html
Учусь программированию на C++. Вот, столкнулся с проблемой. Пытался найти ответ в интернете, но об этом нигде не сказано. Дело в том, что я хочу сделать программу рандомно выбирающую имя. После же,...
C++ Бесконечный цикл не вешающий программу Добрый день. Столкнулся с тем, что мне необходимо мониторить директорию на наличие определенного файла. Суть в том, что цикл мониторинга вешает программу из-за своей бесконечности. Вопрос состоит в... подробнее

Показать сообщение отдельно
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
27.09.2013, 18:57
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <type_traits>
#include <string>
#include <limits>
 
template <class Arithmetic>
Arithmetic cin_safe
    ( Arithmetic min = std::numeric_limits<Arithmetic>::lowest(),
      Arithmetic max = std::numeric_limits<Arithmetic>::max(),
      const std::string &repeate_msg = std::string() )
{
    static_assert(std::is_arithmetic<Arithmetic>::value, "This function works only with arithmetic types");
    Arithmetic x;
    while ( !(std::cin >> x) || x < min || x > max ) {
        std::cin.clear();
        std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
        std::cout << repeate_msg;
    }
    return x;
}
 
int main()
{
    auto x = cin_safe<int>(100, 200, "Try again, bro!\n");
    std::cout << "x = " << x;
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru