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

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

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

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

24.08.2014, 21:59. Просмотров 309. Ответов 5
Метки нет (Все метки)

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

Защита от ввода цифр/букв - C++
Всем доброго времени суток! Написал вот такую программу #include<iostream> #include<string> using namespace std; const int N =...

Ограничение ввода(цифр, букв и символов) - C++
Здравствуйте ! Мне нужно сделать ограничение ввода. Я его прописал, для ввода длины и количества паролей, но не могу для ввода куда...

Ограничение ввода.(цифр, букв и символов) - C++
Мне нужно сделать ограничение ввода. Условие: 1) ввод 1, 2 или 3, если больше, то сообщение об ошибке и повторный ввод, также с...

Как можно бы создать метод для ввода размерности (т.е. для ввода private переменных n,m)? - C++
Как можно бы создать метод для ввода размерности (т.е. для ввода private переменных n,m)? ( что только я не пробывал: то переменные...

Последовательность из цифр, букв и знаков. Подсчитать чего больше и составить строки только из цифр, букв и знаков - C++
Дана последовательность состоящая из цифр, букв и знаков пунктуации в произвольном порядке. Подсчитать чего больше и составить строки...

Контроль ввода - C++
Задача: написать программу, которая дает пользователю ввести массив, а потом при помощи функции подсчитать символы. Вот код: #include...

5
rikimaru2013
C++ Game Dev
2439 / 1133 / 240
Регистрация: 30.11.2013
Сообщений: 3,690
24.08.2014, 22:02 #2
Если в int пытаются запихнуть символ - происходит исключение
Если в char запихнуь символ 'd' или 'n' - ничего не будет плохого.
0
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
24.08.2014, 22:12  [ТС] #3
Стыдно конечно, но до исключений ещё не дорос, просто условной конструкцией проверяю ввод
Правильно понимаю, что проблема имеет место быть только при моём, топорном варианте проверки?
0
_Ivana
3185 / 1801 / 153
Регистрация: 01.03.2013
Сообщений: 5,030
Записей в блоге: 3
24.08.2014, 22:14 #4
Coding_fun, код приведите.
0
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% уверен что не работает
0
КОП
361 / 280 / 86
Регистрация: 15.08.2010
Сообщений: 762
25.08.2014, 00:00 #6
Цитата Сообщение от Coding_fun Посмотреть сообщение
Хотя на 99% уверен что не работает
Цитата Сообщение от Coding_fun Посмотреть сообщение
(Num1 <=0 && Num1 >=0)
Подставьте вместо Num любое число и подумайте, что произойдет
0
25.08.2014, 00:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2014, 00:00
Привет! Вот еще темы с ответами:

Open Watcom нет перегрузки для оператора ввода для типа std::string - C++
Решил использовать компилятор Open Watcom C++ и в результате не компилируется проект. Проект прилагается

Контроль ввода данных С++ - C++
Подскажите пожалуйста, хочу сделать контроль ввода данных. Предлагать вводить переменную n до тех пор, пока результат не будет...

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

Контроль ввода числа - C++
Суть в том , что в данном случае код перестает работать, когда я ввожу цифру...тут у меня 1. Подскажите, а как сделать так, чтобы я мог...


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

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

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