Приветствую,возникла проблем фильтрации данных на c++ в коносли.
Требуется добиться, ввод только цифр больше ничего.В интернете очень много варинтов, но на mac os не робят. Работают,но с багами по сравнению с windows там все чик-чик.
Вариации кода фильтрации которые не работают адекватно.
1.
Бесконечный цикл.
2.
На этом примере понял, как в mac os(Xcode быть точнее) преобразование происходит, если ввести любую строку, то получим 0 всегда,а не как на винде по таблице ASCII происходит преобразование.
3.
Бесконечный цикл.
Требуется добиться, ввод только цифр больше ничего.В интернете очень много варинтов, но на mac os не робят. Работают,но с багами по сравнению с windows там все чик-чик.
Вариации кода фильтрации которые не работают адекватно.
1.
C-подобный:
int zero;
while(!(std::cin>>zero) && !isdigit(zero) ){
std::cout << "Не корректный ввод" << std::endl;
std::cin.clear();
fflush(stdin);
}
2.
C-подобный:
int zero;
std::cin>>zero;
while((zero >= '0') && (zero <= '9') ){
std::cout << "Не корректный ввод" << std::endl;
std::cin.clear();
fflush(stdin);
std::cin>>zero;
}
3.
C-подобный:
int zero;
std::cin>>zero;
while( !isdigit(zero) ){
std::cout << "Не корректный ввод" << std::endl;
std::cin.clear();
fflush(stdin);
std::cin>>zero;
}