Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
 Аватар для lenin
1 / 1 / 1
Регистрация: 25.09.2011
Сообщений: 15

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

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

Студворк — интернет-сервис помощи студентам
Привет форум!
Уже пытался кое-что найти в книжках по С++ по поводу сабжа, но многое мне не ясно, ибо я очень очень чайник.
Вот что мне нужно:
Пользователь должен ввести вещественное число с клавиатуры, но при этом он может допустить ошибку, т.е. ввести не только цифры, но и любые другие символы.
Программа в случае неправильного ввода числа должна сообщить об этом, если же число введено верно, то оно должно храниться в какой-либо переменной вещественного типа.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.09.2011, 14:27
Ответы с готовыми решениями:

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

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

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

7
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
25.09.2011, 14:28
C++
1
2
3
double var;
if ( !(std::cin >> var) )
 //ошибка!
0
 Аватар для lenin
1 / 1 / 1
Регистрация: 25.09.2011
Сообщений: 15
25.09.2011, 14:40  [ТС]
Если сначала будут цифры, а потом буквы, то не будет работать.
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
25.09.2011, 14:43
Цитата Сообщение от lenin Посмотреть сообщение
Если сначала будут цифры, а потом буквы, то не будет работать.
Будет, т.к. 12345а - некорректный ввод. И программа его не пропустит. Точнее считается только число, буквы будут игнорироваться.
Такова особенность ввода через потоки. По другому разве что считывать в строку, и уже потом пытаться перевести в число.
0
 Аватар для lenin
1 / 1 / 1
Регистрация: 25.09.2011
Сообщений: 15
25.09.2011, 14:55  [ТС]
вот так я и хотел изначально сделать
0
 Аватар для KuKu
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
25.09.2011, 16:48
ммм ... поиск
0
 Аватар для lenin
1 / 1 / 1
Регистрация: 25.09.2011
Сообщений: 15
16.02.2012, 22:43  [ТС]
Подниму тему.
Почему, например, здесь при варианте 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
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
17.02.2012, 11:58
Цитата Сообщение от 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2012, 11:58
Помогаю со студенческими работами здесь

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

Проверка вводимых данных
Как сделать так, чтобы при вводе символов в строку года поступления на экран появлялось соответствующее сообщение и происходил повторный...

Проверка вводимых данных
#include &lt;iostream&gt; using namespace std; int main() { double a, b, c; cout &lt;&lt; &quot;Enter the first side of the...

Проверка вводимых значений
есть динам. массив, который вручную заполняется for (int i=0;i&lt;n;i++) { cout&lt;&lt;&quot;Введите &quot;&lt;&lt;i+1&lt;&lt;&quot;...

Проверка вводимых данных
Подскажите, пожалуйста, как зациклить ввод данных до тех пор пока пользователь не введёт корректный ответ #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru