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

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

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


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

Ввод в тип bool. Как проверить правильность ввода?
#include <iostream> #include <string> using namespace std; int main() { bool b; string...

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

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

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

2
iOS/Android Developer
Эксперт С++
5132 / 1569 / 952
Регистрация: 23.01.2011
Сообщений: 3,192
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
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2013, 19:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

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

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

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


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

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

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