165 / 1 / 1
Регистрация: 15.02.2012
Сообщений: 41

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

28.06.2012, 22:44. Показов 43076. Ответов 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
38213 / 21146 / 4313
Регистрация: 12.02.2012
Сообщений: 34,759
Записей в блоге: 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
38213 / 21146 / 4313
Регистрация: 12.02.2012
Сообщений: 34,759
Записей в блоге: 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
38213 / 21146 / 4313
Регистрация: 12.02.2012
Сообщений: 34,759
Записей в блоге: 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
38213 / 21146 / 4313
Регистрация: 12.02.2012
Сообщений: 34,759
Записей в блоге: 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
38213 / 21146 / 4313
Регистрация: 12.02.2012
Сообщений: 34,759
Записей в блоге: 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru