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

Проверка на ввод - C++

Восстановить пароль Регистрация
 
FloraWinx
 Аватар для FloraWinx
4 / 4 / 1
Регистрация: 05.10.2013
Сообщений: 122
06.07.2014, 15:00     Проверка на ввод #1
Есть переменная целочисельная ввожу ее с клавиатуры , но когда ввожу букву нажимаю enter вываливает ексепшын.
Нашел функцию isdigit , попытался сделать так
C++
1
2
3
4
5
6
one:
 
        cout<<"Enter X_start:"<<endl;
        cin>>X_start; 
        if(isdigit(X_start)==false){
            goto one;}
Но оно не отлавливает , возможно это можно сделать с помощью try catch?

Добавлено через 10 минут
хотя нашел следующее и вроде работает
C++
1
2
3
4
5
6
7
8
cout << "Enter an int: ";
    int x = 0;
    while(!(cin >> x)){
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max(), '\n');
        cout << "Invalid input.  Try again: ";
    }
    cout << "You enterd: " << x << endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2014, 15:00     Проверка на ввод
Посмотрите здесь:

Проверка на ввод букв C++
C++ Проверка на ввод C++
проверка на неправильный ввод C++
C++ Проверка на ввод данных
Проверка на ввод символа C++
Проверка на ввод C++
Проверка на ввод символа C++
Проверка числовой ли ввод C++
C++ Проверка на ввод текста
Проверка на ввод числа C++
C++ Проверка на ввод букв
C++ Проверка на ввод пола

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4441 / 3779 / 1278
Регистрация: 14.04.2014
Сообщений: 14,872
06.07.2014, 15:00     Проверка на ввод #2
Делай просто
C++
1
2
3
4
5
cin>>X_start;
if(!cin)
{
// Ошибка
}
Yandex
Объявления
06.07.2014, 15:00     Проверка на ввод
Ответ Создать тему
Опции темы

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