Обработка пользовательского ввода С++

При обработке пользовательского вода никак не могу сделать проверку на ввод. Вот, например, таким образом я запрещаю ввод символов и разрешаю ввод от 1 до 10, но при вводе цифр больше 10 или любого другого числа у меня происходит завершение программы. На выходе мне нужно именно int значение (сейчас пробую, но пока не получается что-то никак).

#include <iostream>
using namespace std;

int main() {
int x=0;
    while (!(cin >> x))
        {
            cin.clear();
            while (cin.get() != '\n');
            cout << "\tWrong digit try again!\n";
            cout << "\tEnter the second coordinate for the shot: ";
        }

result 0;
}

Ответы (1 шт):

Автор решения: MikitaS

Я не понимаю при чем тут ваш код к условию.

Если хотите получить число из введенной строки, просто считайте строку, а затем используйте std::atoi для получения целочисленного числа из строки.

Если хотите проверять введенный символ - используйте функцию isdigit.

→ Ссылка