Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/207: Рейтинг темы: голосов - 207, средняя оценка - 4.83
165 / 1 / 1
Регистрация: 15.02.2012
Сообщений: 41

Как поставить ограничение на ввод только числа

28.06.2012, 22:44. Показов 43022. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
у меня вопрос ) ))
как поставить ограничение на ввод
например я хочу вводить только числа )))

есть ли что то подобное как на паскаль ioresult ))
Как тридня пытась сишить местами ))

есть ли что то подобное delay() -- задержка по времени
и как напрмер изменит цвет выводимого текста как нибудь попроще
Dev C++ 4.9..
вроде она у меня единственная бодрячком пашет))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.06.2012, 22:44
Ответы с готовыми решениями:

Ограничение на ввод (только целые числа)
Нужно задать ограничение на ввод только целых чисел. При вводе дробного числа или других символов (букв и тд) должно выводится сообщение...

Как лучше поставить ограничение на ввод букв, и знаков перпинания
Добрый вечер! подскажите, как лучше поставить ограничение на ввод букв, и знаков перпинания (,.! ,пробел и других, которые используют в...

Как задать ограничение на ввод только чисел в поле DBEdit?
Есть форма, на ней поле для ввода DBEdit. Надо сделать, чтобы юзер мог ввести только числа. Маску наложить, как я понял можно только в...

50
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38209 / 21142 / 4313
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 14
03.07.2012, 19:38
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от soon Посмотреть сообщение
корявого использования include
- как это можно include использовать "коряво"?

Цитата Сообщение от soon Посмотреть сообщение
статичесткого размера символьного массива, обнуления через цикл и проч.проч.проч.
- это можно поставить мне в вину, но к try/cath это отношения не имеет. Не злись, лучше согласись...
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
03.07.2012, 19:56
Цитата Сообщение от Catstail Посмотреть сообщение
как это можно include использовать "коряво"?
Я вот закину в папку с кодом пустой iostream.h и ничего не скомпилируется. Я уже молчу про стандарт, по которому все стандартные хидеры пишутся без .h

Цитата Сообщение от Catstail Посмотреть сообщение
Не злись, лучше согласись...
Я не злюсь, я указываю на ошибки. Хотите через try/catch - пожалуйста. Но уровнем выше должны быть флаги. Как минимум потому, что они безопаснее.
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
#include <iostream>
#include <ios>
 
std::istream& operator>>(std::istream& stream, int& i)
{
    if(!stream.good())
        throw std::ios_base::failure("Check flags");
    int tmp;
    stream.operator>>(tmp);
    if(stream.fail())
        throw std::ios_base::failure("Input error");
    i = tmp;
    return stream;
}
 
int main()
{
    int a;
    try
    {
        operator>>(std::cin, a);
        std::cout << "All ok, a = " << a << std::endl;
    }
    catch(const std::exception& exc)
    {
        std::cerr << exc.what() << std::endl;
    }
    return 0;
}
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38209 / 21142 / 4313
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 14
03.07.2012, 20:01
"Я вот закину в папку с кодом пустой iostream.h и ничего не скомпилируется" - а я вообще сотру компилятор C++... Какое это имеет отношение к теме?

"Хотите через try/catch - пожалуйста" - о чём я, собственно и говорил. А мне настойчиво повторяли, что try/catch "не имеет отношения к теме"...

Чем флаги "безопаснее"?
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
03.07.2012, 20:02
Даже так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main()
{
    int ivalue;
    try
    {
        std::cin >> ivalue;
        std::cin.exceptions(std::istream::failbit);
    }
    catch(const std::ios_base::failure &fail)
    {
        std::cerr << fail.what() << std::endl;
    }
}
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38209 / 21142 / 4313
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 14
03.07.2012, 20:04
Ага... Собственно, мой код ввода числа к теме не относится. А try/catch прекрасно работает.
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
03.07.2012, 20:07
Цитата Сообщение от Catstail Посмотреть сообщение
а я вообще сотру компилятор C++... Какое это имеет отношение к теме
Я говорил про общие косяки, на которые вы никак не хотите обратить внимания. Чтож, удачного кодинга.
Цитата Сообщение от Catstail Посмотреть сообщение
А мне настойчиво повторяли, что try/catch "не имеет отношения к теме"...
Неа, то что не имеет отношения, я не говорил. Я говорил, что первичнми должны быть флаги. Хотя, как показало время, связка флаги(заметьте, они все равно главенствуют) + try/catch даже очень неплоха, тут я заблуждался.
Цитата Сообщение от Catstail Посмотреть сообщение
Чем флаги "безопаснее"?
Тем, что я введу over500 символов, и программа не упадет
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38209 / 21142 / 4313
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 14
03.07.2012, 20:16
Цитата Сообщение от soon Посмотреть сообщение
try/catch даже очень неплоха, тут я заблуждался
- принимаю.
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
03.07.2012, 20:19
Catstail, Все равно читаете слово через десять.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38209 / 21142 / 4313
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 14
03.07.2012, 20:28
Я всё прочитал... Очень тронут пожеланием. Знаешь, я программирую постоянно с 1978 г. Пока справляюсь. Мне кажется, тема исчерпана.
0
 Аватар для letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
30.09.2012, 23:03
[QUOTE=David Sylva;3221999]Ещё один вариант на ввод чисел
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream> 
using namespace std; 
int main() 
{   
    setlocale(0, "rus");
    int number; 
 
    while(true) 
    { 
        cout << "Введите число " << endl; 
        cin >> number; 
        if( cin.good()) 
        { 
            cin.ignore(10, '\n'); 
            break; 
        } 
        cin.clear(); 
        cout << "Непрпвильный ввод данных " << endl; 
        cin.ignore(10, '\n'); 
    } 
    cout << "Цедое число " << number << endl; 
}
C++
1
2
3
if( cin.good())
cin.ignore(10, '\n');
cin.clear();
кто-нибудь может прокомментировать эти строчки, первый раз вижу такую запись)
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2012, 23:51
C++
1
2
3
4
if( cin.good()) //если нет ошибки в потоке cin, cin.good() вернёт true
cin.ignore(10, '\n'); //пропускаются или 10 символов из потока ввода, 
                     //или пока не встретится '\n' (смотря, что раньше)
cin.clear();//сбросываются флаги ошибок в потоке cin
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.09.2012, 23:51

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

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

Jawa.swing.InputVerifier - Поставить ограничение на ввод данных при добавлении в таблицу
Помогите пожалуйста, в Swing не очень шарю и никак не могу разобраться с java.swing.InputVerifier. Сама программа почти готова, но мне...

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

Помогите поставить ограничение на ввод,чтобы программа не выскакивала сама по себе при вводе больших чисел
Помогите поставить ограничение на ввод,чтобы программа не выскакивала сама по себе при вводе больших чисел,а выводила некоректный ввод...


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

Или воспользуйтесь поиском по форуму:
51
Ответ Создать тему
Новые блоги и статьи
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж» Уважаемые коллеги! Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru