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

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

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

C++ Ввод в консоле только чисел(запрет ввода других символов)
C++ в строке символов удалить все кроме цифр
Контрольк ввода символов с консоли C++
C++ Запрет ввода символов в поле Edit
C++ Запрет ввода символов в консоли
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16827 / 5248 / 321
Регистрация: 30.03.2009
Сообщений: 14,132
Записей в блоге: 26
02.07.2012, 18:09     Запрет ввода любых символов кроме цифр в консоли #2
Делать ввод в строковую переменную, а далее её анализировать

Добавлено через 54 секунды
Почитай немного теории тут http://www.cyberforum.ru/blogs/42536/blog278.html, может, немного ясности появится. Там правда речь идёт о Си, где проблема стоит немного более остро, чем в Си++
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 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
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
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
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.07.2012, 02:00     Запрет ввода любых символов кроме цифр в консоли #5
Здесь хороший, проверенный код: Как поставить ограничение на ввод только числа Минус работает, забой работает.
Yandex
Объявления
03.07.2012, 02:00     Запрет ввода любых символов кроме цифр в консоли
Ответ Создать тему
Опции темы

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