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

  • Автор темы @LE}{@NDER
  • Дата начала
@

@LE}{@NDER

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

mms

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

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

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

@LE}{@NDER

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

Kuvaldis

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


int main()
{

int value;

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

return 0;
}