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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
meJevin
156 / 148 / 58
Регистрация: 18.11.2015
Сообщений: 674
Завершенные тесты: 1
#1

Компактнее уже никак? - C++

08.03.2016, 01:51. Просмотров 195. Ответов 3
Метки нет (Все метки)

Привет, пишу шаблон для безопасного ввода переменных. Потому что, если простым cin вводить, скажем, int, и вместо цифр вы введете буквы или введете число, заходящее за границы int, то у вас жуть будет.
Вот мой шаблон пока что
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
template<typename Type>
void cinNum(Type& var, char* text) {
 
    int intLimit = std::numeric_limits<int>::max();
 
    std::cout << text;
    while (!(std::cin >> var) || (std::cin.peek() != '\n')) {
        std::cin.clear();
        std::cin.ignore(intLimit, '\n');
        std::cout << text;
    }
 
}
Он мне уже дофига строк сохранил, но хотелось бы что-то более компактное. Может уже существует функция "безопасного ввода переменных" ?

Добавлено через 2 минуты
там прикол в том, что во второй параметр можно сразу текст вводить, что очень круто.
работает примерно так:
C++
1
2
3
4
5
   std::cout << "\nВвод значений для X" << i+1 << ":\n";
        cinNum(z, "Введите Z: ");
        cinNum(b, "Введите B: ");
        cinNum(a, "Введите A: ");
        cinNum(betta, "Введите Betta: ");
где z, b, a, betta - разные по типу данных переменные
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2016, 01:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Компактнее уже никак? (C++):

Как можно сделать программу более компактнее - C++
решил использовать новый способ в программе. так вот как можно этот код сделать болие компактнее: #include &lt;iostream&gt; #include &lt;string&gt;...

Текстовой файл с уже введенным текстом зашифровать и вывести уже зашифрованный - C++
Здравствуйте.Задание -шифр Виженера. Вроде код написал,но есть ошибки.Задание заключается в том,чтобы текстовой файл с уже введенным...

Ну никак не компилится. - C++
Начинаю изучать С++, никак не компилится: -------------------------------------------- #include void main(void) { cout &lt;&lt;...

Никак не разберусь с практической в С++. - C++
НАрод помогите пожалуста с практической. НЕ могу решить, а очень нада срочно. ЗАДАНИЕ Составить программу для сохранения и обработки...

Не разберусь с матрицами никак! - C++
Даны натуральное число n&gt;=2, действительная квадратная матрица порядка n. Построить последовательность b1,..,bn из нулей и единиц, в...

boost подключить никак не удалось - C++
boost подключить никак не удалось 1&gt;LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc110-mt-gd-1_55.lib' либо...

3
Juffin
51 / 51 / 16
Регистрация: 24.12.2011
Сообщений: 133
08.03.2016, 02:05 #2
Ну, можно вводить через cin и ловить исключения, например. Или через scanf, он вообще безопаснее некуда.
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4309 / 2328 / 576
Регистрация: 18.10.2014
Сообщений: 3,967
08.03.2016, 02:56 #3
Цитата Сообщение от Juffin Посмотреть сообщение
Или через scanf, он вообще безопаснее некуда.
О каком именно вводе через 'scanf' идет речь? Ввод по целочисленным форматам в 'scanf' никак не защищен от переполнения.
0
Evg
08.03.2016, 14:35     Компактнее уже никак?
  #4

Не по теме:

Цитата Сообщение от Juffin Посмотреть сообщение
Или через scanf, он вообще безопаснее некуда
Ты даже не представляешь себе, насколько всё сложно со scanf'ом: http://www.cyberforum.ru/blogs/42536/blog278.html

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2016, 14:35
Привет! Вот еще темы с ответами:

Функция ну никак не хочет работать - C++
Вот функция void OPEN_USER_COMMAND(System::String^ PolzCom) { System::String^ Temp = &quot;PrgBase\\&quot;; ...

Не могу никак программу составить! - C++
Помогите пожалуйста написать програму языком С++ что использует масив структур для формирования ведомости : Стоимость строительных...

Никак не могу разобраться с конструктором. - C++
Добрый день. Недавно стал изучать C++. Уже 2 день пытаюсь понять суть конструктора, но не могу. Код который присутствует в...

Никак не получаеться решить функцию - C++
// Написать функцию, которая получает растояние, которое пробежал спортсмен и время пробега и определяет скорость спортсмена. Получить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru