Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
supra7sky
15 / 15 / 5
Регистрация: 07.02.2013
Сообщений: 123
1

Как контролировать правильность ввода?

15.05.2013, 18:39. Просмотров 1326. Ответов 2
Метки нет (Все метки)

В переменные типов unsigned и double нужно записать численное значение. Какие есть способы контроля ввода для избежания ввода символов, слов и строк при этом?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2013, 18:39
Ответы с готовыми решениями:

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

Правильность ввода даты
Всем привет. Хотелось бы узнать способ проверки правильности формата введенной...

Проверка на правильность ввода значения.
Вот пишу так называемую "проверку на дурака". Столкнулся с проблемой, код: {...

Проверить массив на правильность ввода
Вроде бы были похожие темы, но так как я тупой, то не смог подобрать...

Проверка на правильность ввода с клавиатуры
Здравствуйте! задача: пользователь вводит с клавиатуры цифру, нужно проверить...

2
Ev[G]eN
iOS/Android Developer
Эксперт С++
5119 / 1557 / 950
Регистрация: 23.01.2011
Сообщений: 3,187
Завершенные тесты: 1
15.05.2013, 18:43 2
Лучший ответ Сообщение было отмечено supra7sky как решение

Решение

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
#include <iostream>
 
template <class Type>
Type inputCheck(Type &number)
{
    while (true) {
        std::cin >> number;
        if (std::cin.peek() == '\n' || std::cin.peek() == '.' || std::cin.peek() == ',') {
            std::cin.get();
            break;
        } else {
            std::cout << "Error! Please, try again!" << std::endl;
            std::cin.clear();
            std::cin.sync();
        }
    }
    return number;
}
 
int main()
{
    double number;
    number = inputCheck(number);
 
    return 0;
}
1
Olivеr
413 / 409 / 95
Регистрация: 06.10.2011
Сообщений: 832
15.05.2013, 19:06 3
А я так делаю:
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
#include <iostream>
#include <limits>
 
using namespace std;
 
template <typename T>
T DefInput(istream &is)
{
    T val;
    is.clear();
    is >> val;
    while ( !is.good() ) {
        is.clear();
        is.ignore(numeric_limits<streamsize>::max(), '\n');
        is >> val;
    }
    return val;
}
 
int main()
{
    int val = DefInput<int>(cin);
    cout << val;
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2013, 19:06

циклические алгоритмы (проверять правильность ввода данных)
С клавиатуры вводят дробные числа, до тех пор пока их сумма меньше К. Число К...

Проверить правильность ввода в строке типа char
Здравствуйте. Такой вопрос: Есть строковый массив и запись в него, но как при...

Проверить правильность ввода числа в двоичной системе счисления
Дано число в двоичной системе счисления. Проверить правильность ввода этого...


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

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

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