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

Реализовать контроль ввода и для цифр, и для букв - C++

Восстановить пароль Регистрация
 
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
24.08.2014, 21:59     Реализовать контроль ввода и для цифр, и для букв #1
Здравствуйте! Проблема такая если при вводе данных вместо чисел пользователь вводит буквы, то программа как мне и надо пишет "Некоректный ввод", но если ввести букву которая может быть введена далее в коде (т.е. если сначала пользователь должен ввести число, а дальше в коде есть вопрос с вариантом ответа д/н, то при вводе вместо числа д/н программа зацикливается). Как это исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2014, 21:59     Реализовать контроль ввода и для цифр, и для букв
Посмотрите здесь:

C++ Как можно бы создать метод для ввода размерности (т.е. для ввода private переменных n,m)?
C++ Контроль правильности ввода в int
C++ Контроль ввода с клавиатуры
Контроль ввода C++
C++ Контроль ввода данных
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2137 / 970 / 223
Регистрация: 30.11.2013
Сообщений: 3,240
24.08.2014, 22:02     Реализовать контроль ввода и для цифр, и для букв #2
Если в int пытаются запихнуть символ - происходит исключение
Если в char запихнуь символ 'd' или 'n' - ничего не будет плохого.
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
24.08.2014, 22:12  [ТС]     Реализовать контроль ввода и для цифр, и для букв #3
Стыдно конечно, но до исключений ещё не дорос, просто условной конструкцией проверяю ввод
Правильно понимаю, что проблема имеет место быть только при моём, топорном варианте проверки?
_Ivana
2189 / 1394 / 124
Регистрация: 01.03.2013
Сообщений: 4,151
Записей в блоге: 2
24.08.2014, 22:14     Реализовать контроль ввода и для цифр, и для букв #4
Coding_fun, код приведите.
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
24.08.2014, 22:22  [ТС]     Реализовать контроль ввода и для цифр, и для букв #5
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
double Num1, Num2;
    cin >> Num1;
    cin >> Num2;
    
    if(Num1 <=0 && Num1 >=0)
    {
        cout << "Ok" << endl;
    } else
    {
        cout << "Wrong!" << endl;
    }
    cout << "Õîòèòå èçìåГ*ГЁГІГј ГЅГІГЁ Г·ГЁГ±Г«Г* (Г¤/Г*)" << endl;
    char Change = '\0';
    cin >> Change;
    
    if(Change == 'Г¤')
    {
        cout << "Ââåäèòå Г*îâûå Г·ГЁГ±Г«Г*" << endl;
        cin >> Num1;
        cin >> Num2;
    } else if(Change == 'Г*')
    {
        cout << "Õîðîøî, ïðîäîëæГ*ГҐГ¬" << endl;
    } else 
    {
        cout << "ÍåêîððåêòГ*ûé ââîä" << endl;
        cout << "Õîòèòå èçìåГ*ГЁГІГј ГЅГІГЁ Г·ГЁГ±Г«Г* (Г¤/Г*)" << endl; 
        cin >> Change;
    }
Для проверки вставил ок при вводе числа и wrong если не число. Хотя на 99% уверен что не работает
КОП
348 / 280 / 86
Регистрация: 15.08.2010
Сообщений: 755
25.08.2014, 00:00     Реализовать контроль ввода и для цифр, и для букв #6
Цитата Сообщение от Coding_fun Посмотреть сообщение
Хотя на 99% уверен что не работает
Цитата Сообщение от Coding_fun Посмотреть сообщение
(Num1 <=0 && Num1 >=0)
Подставьте вместо Num любое число и подумайте, что произойдет
Yandex
Объявления
25.08.2014, 00:00     Реализовать контроль ввода и для цифр, и для букв
Ответ Создать тему
Опции темы

Текущее время: 02:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru