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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
lenin
1 / 1 / 0
Регистрация: 25.09.2011
Сообщений: 15
#1

Проверка вводимых символов - C++

25.09.2011, 14:27. Просмотров 1874. Ответов 7
Метки нет (Все метки)

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

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

Проверка вводимых значений - C++
Стоит задача не допустить ввода значений помимо чисел(0..9), точки(".") и "+" или "-". При условии, что используется данная функция: ...

Проверка вводимых данных - C++
#include <iostream> using namespace std; int main() { double a, b, c; cout << "Enter the first side of the...

Проверка вводимых данных - C++
Вот часть программы int main(void) { int vop; setlocale(LC_ALL, "Russian"); int mas1, mas2, mas3, outmas; int ke1, ke2,...

Проверка вводимых значений - C++
есть динам. массив, который вручную заполняется for (int i=0;i<n;i++) { cout<<"Введите "<<i+1<<" значение Urab (5...60 B) :...

Проверка вводимых данных - C++
Доброго времени суток, форумчане. Я столкнулся с такой проблемой: при введении еденицы измерения, если та инициализирована ранее то все...

7
diagon
Higher
1936 / 1202 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
25.09.2011, 14:28 #2
C++
1
2
3
double var;
if ( !(std::cin >> var) )
 //ошибка!
0
lenin
1 / 1 / 0
Регистрация: 25.09.2011
Сообщений: 15
25.09.2011, 14:40  [ТС] #3
Если сначала будут цифры, а потом буквы, то не будет работать.
0
diagon
Higher
1936 / 1202 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
25.09.2011, 14:43 #4
Цитата Сообщение от lenin Посмотреть сообщение
Если сначала будут цифры, а потом буквы, то не будет работать.
Будет, т.к. 12345а - некорректный ввод. И программа его не пропустит. Точнее считается только число, буквы будут игнорироваться.
Такова особенность ввода через потоки. По другому разве что считывать в строку, и уже потом пытаться перевести в число.
0
lenin
1 / 1 / 0
Регистрация: 25.09.2011
Сообщений: 15
25.09.2011, 14:55  [ТС] #5
вот так я и хотел изначально сделать
0
KuKu
1559 / 1037 / 78
Регистрация: 17.04.2009
Сообщений: 2,995
25.09.2011, 16:48 #6
ммм ... поиск
0
lenin
1 / 1 / 0
Регистрация: 25.09.2011
Сообщений: 15
16.02.2012, 22:43  [ТС] #7
Подниму тему.
Почему, например, здесь при варианте else текст "0000" выводится бесконечно, а не возвращается к началу цикла?
Как от этого избавиться?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    int t=1;
    int n;
    while (t==1)
    {
        if (cin>>n)
            cout << "1111";
        else
            cout << "0000";
    }
    system("pause");
    return 0;
}
0
valeriikozlov
Эксперт С++
4682 / 2508 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
17.02.2012, 11:58 #8
Цитата Сообщение от lenin Посмотреть сообщение
Как от этого избавиться?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
        int t=1;
        int n;
        while (t==1)
        {
                if (cin>>n)
                        cout << "1111";
                else
                        cout << "0000";
                cin.clear();
                _flushall();
        }
        system("pause");
        return 0;
}
1
17.02.2012, 11:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2012, 11:58
Привет! Вот еще темы с ответами:

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

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

Проверка корректности вводимых значений - C++
Имеется следующий код: #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; int main() { double a, b, c; ...

Проверка корректности вводимых данных - C++
Есть программа на проверку високосного года. Преподаватель при проверке вводит &quot;5 Аотао&quot; к примеру и программа читает первое число и...


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

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

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