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

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

Войти
Регистрация
Восстановить пароль
 
Kostik_Dodik
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 53
#1

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

20.11.2013, 22:04. Просмотров 292. Ответов 0
Метки нет (Все метки)

Без лишних слов: проверка на правильность ввода инта k. Работает вроде неплохо, но если вводишь нецелое значение в формате 1.314 , то проверка не срабатывает и прога вводит хвост 0.314 в переменную а. Подскажите, пожалуйста, как исключить возможность ввода нецелого числа в k.
Вот, собственно, и проблемный участок кода:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
        double a;
    int k;
    cink:
    cout<<"Input k: ";
    try
    {
    cin>>k;
    if (cin.fail())
        throw -1;
    if (k<=0)
        throw 1;
    }
    catch (int a)
    {
        if (a==-1)
        {
            cout<<"Incorrect data input. Remember, k must be integer, and try again\n";
            cin.sync();
            cin.clear();
            goto cink;
        }
        if (a==1)
        {
            cout<<"Incorrect data input. k must be bigger 0. Try again\n";
            goto cink;
        }
    }
    cina:
    cout<<"Input a: ";
    try
    {
    cin>>a;
    if (cin.fail())
        throw -1;
    }
    catch (int a)
    {
        if (a==-1)
        {
            cout<<"Incorrect data input. Try again\n";
            cin.sync();
            cin.clear();
            goto cina;
        }
    }
З.Ы. нужно не очистить поток, а именно повторить ввод k

Добавлено через 24 минуты
в связи с непросматриваемостю up!

Добавлено через 14 минут
Неактуально. Разобрался. Кому надо, то
C++
1
if (cin.peek()!="\n")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 22:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос проверка на правильность ввода (C++):

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

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

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

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

Как контролировать правильность ввода? - C++
В переменные типов unsigned и double нужно записать численное значение. Какие есть способы контроля ввода для избежания ввода символов,...

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

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

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

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

Проверка e-mail на правильность. - C++
как проверить e-Mail на правельность ? Если он неправельный то вывести описание ошибки (подробное). Наобарот - если правельный то...

Проверка на правильность кода - C++
// C++ 6.6 I.12.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...


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

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

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