(у меня немного английского словаря, так что извините за эту странную попытку английского)
Привет, ребята!Я новичок в C ++, и мне нужно знать, как создать код фильтра, который поможет мне принимать только int - eger .Мне нужно, чтобы этот код использовал только библиотеку iostream.Это потому, что мой учитель не позволяет нам использовать другой вид библиотеки (мы новички в кодировании C ++).
Здесь я привожу пример того, что у меня есть в данный момент:
# include <iostream>
# include <limits> //I should't use this library
using namespace std;
int main() {
int value = 0;
cout << "Enter an integer value: ";
while(!(cin >> value)) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << endl <<"Value must be an integer"<< endl << endl; //This line needs <limits>
cout << "Enter another integer value: " ;
}
}
Но у этого кода есть некоторые неудобства:
- Я использую библиотеку "#include 'limit'" и не должен использовать ее
- Если вы введете "1asd "принимает значение" 1 ", задайте его как правильное и неверное
У вас, ребята, есть какое-то решение для этой ситуации?Заранее спасибо за ваше время.