Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Проверка ввода данных в консоли


Автор: KelTron 31.12.2006, 12:12
Мне надо сделать проверку, чтоб если введена буква вместо цифры, то выдавалось сообщение об ошибке и надо было повторить ввод.
Используя функции stdio я делаю что то типа этого
Код

#include <stdio.h>

int main()
{
    printf("\n Введите число:");
    int x;
    while (!scanf("%d", &x))
    {
        fflush(stdin);
        printf("Ошибка!");
    }
    return 0;
}

Так вот, я хочу сделать такую же проверку, используя потоки - iostream, но не знаю как.
Подскажите кто знает.

Автор: Dov 31.12.2006, 12:37
Код

#include <iostream.h>

int main()
{
    cout << "\n Введите число:";
    int x;

    cin >> x;        
    while(cin.fail())
    {
        cin.clear();
        cin.ignore(256,'\n');
        cout << "Ошибка!" << endl;
        cin    >> x;
    }
 
    return 0;
}

Автор: KelTron 31.12.2006, 12:41
Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)