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

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

Войти
Регистрация
Восстановить пароль
 
supra7sky
15 / 15 / 1
Регистрация: 07.02.2013
Сообщений: 123
#1

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

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

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

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

Правильность ввода даты - C++
Всем привет. Хотелось бы узнать способ проверки правильности формата введенной даты в строке. Т.е. на вход подается строка, необходимо...

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

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

Проверка на правильность ввода значения. - C++
Вот пишу так называемую "проверку на дурака". Столкнулся с проблемой, код: { double ch; int y=0; do{ y=1; int q=0; int...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
15.05.2013, 18:43 #2
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
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
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 - C++
Здравствуйте. Такой вопрос: Есть строковый массив и запись в него, но как при этом проверить все это дело на содержание в нем, либо при...

Проверить правильность ввода числа в двоичной системе счисления - C++
Дано число в двоичной системе счисления. Проверить правильность ввода этого числа (в его записи должны быть только символы 0 и 1). Если...

Как запустить процесс и контролировать его - C++
Привет. Я новичок. Я хочу попробовать запускать внешнюю программу из своей (допустим, это будет some.exe) и контролировать исходящие пакеты...

Как контролировать число создаваемых потоков? OpenMP - C++
Здравствуйте. Начал изучать OpenMP. Имеется вопрос - когда мы делаем #pragma omp parallel for Мы можем контролировать число...


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

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

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