Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
meJevin
157 / 149 / 92
Регистрация: 18.11.2015
Сообщений: 677
Завершенные тесты: 1
1

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

08.03.2016, 01:51. Просмотров 206. Ответов 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
Ответы с готовыми решениями:

Как можно сделать программу более компактнее
решил использовать новый способ в программе. так вот как можно этот код сделать...

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

Ну никак не компилится.
Начинаю изучать С++, никак не компилится:...

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

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

3
Juffin
51 / 51 / 24
Регистрация: 24.12.2011
Сообщений: 133
08.03.2016, 02:05 2
Ну, можно вводить через cin и ловить исключения, например. Или через scanf, он вообще безопаснее некуда.
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4833 / 2478 / 695
Регистрация: 18.10.2014
Сообщений: 4,285
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++. Уже 2 день пытаюсь понять суть...

Никак не могу разобраться с ошибкой.
Задание: Имеются числа х1,х2,...,хn.Расставить их в таблице размером (nхn)...

Не могу никак понять (новичек).
Здравствуйте, необходимо найти сумму квадратов четных чисел в интервале...


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

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

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