Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 84

Ограничение на ввод символов (разрешить ввод только цифр)

02.03.2016, 17:19. Показов 6930. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!

Я начал изучать С++ и у меня возник такой вопрос:
Как ограничить ввод символов (разрешить ввод только цифр)?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <locale.h>
#include <cctype>
 
using namespace std;
 
int main()
{
    float num;
    cout << "Vvedite:" << endl;
    cin >> num;
    if (???????????)
    {
        cout << "Ne pravilno" << endl;
    }
 
    return 0;
}
Буду очень благодарен за помощь!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2016, 17:19
Ответы с готовыми решениями:

Ограничение на ввод только цифр
Друзья, У тут меня проблемка возникла, помогите, пожалуйста ;) Коротко: я новичок, и я пишу программку для проверки таблицы умножения....

Как разрешить ввод только чисел типа int?
Доброго времени суток. Подскажите, пожалуйста, как разрешить ввод только чисел типа int. Преподаватель очень любит заваливать на этом,...

Разрешить ввод только цифр
В процессе ввода должна осуществляться проверка корректности данных. То есть если в строчке телефон пишешь буквами а не цифрами то...

7
 Аватар для MuslimPalit
30 / 6 / 9
Регистрация: 23.03.2015
Сообщений: 508
02.03.2016, 17:27
isdigit( )

Добавлено через 40 секунд
isdigit( ) - возвращает значение Истина, если аргументом функции является цифра от 0 до 9; во всех остальных случаях возвращает Ложь.

Добавлено через 34 секунды
библиотека - ctype.h
0
 Аватар для yrceus
88 / 88 / 80
Регистрация: 25.08.2013
Сообщений: 337
02.03.2016, 17:28
Или так)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <locale.h>
#include <cctype>
 
using namespace std;
 
int main()
{
    float num;
    cout << "Vvedite:" << endl;
    for (;;)                            //бесконечный цикл
    {
        if (cin >> num)
            break;                      //выход из ближайшего цикла
        cout << "Ne pravilno" << endl;
        cin.clear();                    //снятие флага ошибки ввода cin
        while (cin.get() != '\n');      //очистка символов из потока ввода
    }
    return 0;
}
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
02.03.2016, 17:28
Bullet_VIP, цифр в смысле от 0 до 9 или вообще всех чисел?
0
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 84
02.03.2016, 17:52  [ТС]
Всех цифр

Добавлено через 1 минуту
Не работает

Добавлено через 54 секунды
MuslimPalit, Не работает да и не подходит эта функция
0
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 84
02.03.2016, 17:54  [ТС]
yrceus, вечный цикл пропускает ввод, когда сначала ввести число, а потом символы
Миниатюры
Ограничение на ввод символов (разрешить ввод только цифр)  
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
02.03.2016, 17:57
C++
1
2
3
4
5
6
7
8
// в строке ввода только целое число, перед которым могут быть пробельные символы, + или -.
int a;
while (!(cin >> a) || (cin.peek() != '\n'))
{
    cin.clear();
    while (cin.get() != '\n');
    cout << "Input error! Retry input" << endl;
}
1
 Аватар для yrceus
88 / 88 / 80
Регистрация: 25.08.2013
Сообщений: 337
02.03.2016, 18:07
Bullet_VIP, Ну допилили бы, смысл то ясен) По логике примера он и не должен, ввел число, cin его присвоил переменной и все, выход) А если не число, крутим без конца цикл.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.03.2016, 18:07
Помогаю со студенческими работами здесь

Разрешить ввод только цифр
столкнулся с тем что нужно сделать защиту от случайного ввода, тоесть нужно чтобы если в место строки, допустим, 2+2*2 введут а+2*2...

Разрешить ввод в TextBox только цифр
у меня есть код ввода только цифр, при вводе буквы выходит ошибка, как сделать, чтобы выходило окно...к примеру, &quot;Буквы нельзя!!&quot;...

Разрешить ввод только цифр и запятой
if (e.KeyChar &lt; 48 || e.KeyChar &gt; 57 &amp;&amp; e.KeyChar == 44) { e.Handled = true; } Мне нужно...

Разрешить ввод в текстбокс только цифр
Как можно сделать что-бы в текст бокс вводились только цыфры?, а лучше какую-нибудь маску ввода замутить??

Разрешить ввод в Еdit только цифр
помогите сделать коректность ввода в Edit (вводить можно толькочисла , в случае ввода букв выскакиволо сообщение о неправильном вводе)


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru