Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 41, средняя оценка - 4.98
dioxyde
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 7
#1

Запрет ввода любых символов кроме цифр в консоли - C++

02.07.2012, 18:04. Просмотров 5676. Ответов 4
Метки нет (Все метки)

Ребята подскажите пожалуйста можно ли как-то разрешать ввод в консоль только цифр. Я делаю проверку или с помощью isdigit() или через условие, но даже если это не цифра ,введёный символ появляется в консоли. А как сделать чтобы в случае если символ не цифра он не учитывался и не выводился в консоль???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2012, 18:04     Запрет ввода любых символов кроме цифр в консоли
Посмотрите здесь:

Запрет на ввод букв в консоли на C++ C++
C++ Ввод в консоле только чисел(запрет ввода других символов)
C++ в строке символов удалить все кроме цифр
Контрольк ввода символов с консоли C++
C++ Запрет ввода символов в поле Edit
C++ Запрет ввода символов в консоли
Реализация запрета ввода любых символов кроме цифр в консольном приложении C++
C++ Запрет ввода в консоли
Как реализовать запрет на ввод в консоли? C++
C++ Запрет ввода символов, отличных от цифр
C++ Считывание ЛЮБЫХ символов из файла
При вводе вместо цифр символов программа перестаёт ожидать ввода на следующей итерации цикла. Почему? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17183 / 5437 / 336
Регистрация: 30.03.2009
Сообщений: 14,742
Записей в блоге: 26
02.07.2012, 18:09     Запрет ввода любых символов кроме цифр в консоли #2
Делать ввод в строковую переменную, а далее её анализировать

Добавлено через 54 секунды
Почитай немного теории тут http://www.cyberforum.ru/blogs/42536/blog278.html, может, немного ясности появится. Там правда речь идёт о Си, где проблема стоит немного более остро, чем в Си++
Kastaneda
Форумчанин
Эксперт С++
 Аватар для Kastaneda
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
02.07.2012, 19:17     Запрет ввода любых символов кроме цифр в консоли #3
Linux only
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cstdlib>
 
int main()
{
    int n;
    std::cout << "Enter digits: ";
    system("stty -echo");
    
    // читаем ввод, если это цифра. то печатаем ее
   // если не цифра, то не печатаем
    
    system("stty echo");
    std::cout << std::endl;
 
    return 0;
}
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
02.07.2012, 19:26     Запрет ввода любых символов кроме цифр в консоли #4
Можно вот так сделать

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; 
}
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.07.2012, 02:00     Запрет ввода любых символов кроме цифр в консоли #5
Здесь хороший, проверенный код: Как поставить ограничение на ввод только числа Минус работает, забой работает.
Yandex
Объявления
03.07.2012, 02:00     Запрет ввода любых символов кроме цифр в консоли
Ответ Создать тему
Опции темы

Текущее время: 02:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru