Вопрос: как проверить тип введенных данных?

Тема в разделе "Общие вопросы по С и С++", создана пользователем @LE}{@NDER, 30 май 2007.

  1. @LE}{@NDER

    @LE}{@NDER Гость

    Здрасте!
    столкнулся с такой запарой, когда писал код обработки исключительных ситуаций:
    int A;
    cout<<"Ввод данных: "; cin>>A;
    if (A ....... //Вот она запара! Как осуществить проверку, введена ли A как int или char
    throw WrongType();
     
  2. mms

    mms Гость

    Как со стримом незнаю, но можно сдлать так:

    Код (Text):
            int A = 0;
    cout << "Enter value: ";

    if (scanf("%d", &A) <= 0)
    {
    cout << "Error" << endl;
    }
     
  3. @LE}{@NDER

    @LE}{@NDER Гость

    Спасибо!
    Пожалуй это действительно оптимальное решение.
    Пробовал еще играться с isalnum() isalpha() - что то это не очень у меня работало... :(
    Очевидно правду говорят: Простота - сестра гениальности! :huh:
     
  4. Kuvaldis

    Kuvaldis Гость

    Все можно сделать и силами голого С++:
    Код (Text):
    #include <iostream>
    using namespace std;


    int main()
    {

    int value;

    do
    {
    cout << "Input value: ";
    cin.clear();
    cin.sync();
    cin >> value;
    }
    while ( cin.fail() );

    return 0;
    }
     
Загрузка...

Поделиться этой страницей