Проблемы с кодом на c++. - Вопросы по С+

Вопрос Проблемы с кодом на c++.

Регистрация
8 Сен 2013
Сообщения
98
Репутация
0
Спасибо
0
Монет
0
void battle()

{

cout << "Выберите зону атаки. 1 - голова. 2 - корпус. 3 - ноги." << endl;

wchar_t a;

wcin >> a;

if (a < 48 or a > 51)

{

while (a < 48 or a > 51)

{

cout << "Введено некорректное число!" << endl;

wcin >> a;

}

}

else

{

cout << "!";

}

} Код рабочий, проверяет на наличие в переменной чего угодно кроме цифр 1, 2, 3.

Всё работает, но если ввести более 1 цифры, то он будет писать "Введено некорректное число!" для каждой цифры. Как исправить?
 
Регистрация
30 Июл 2013
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
че это такое вообще, на что оно проверяет if (a < 48 or a > 51) еще ты вводишь wchar, а wchar это символ типа и ты не можешь его проверить будет ли он больше или меньше чем число, используй int или short вместо wchar
 
Регистрация
28 Ноя 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
что такое "1543" ?
вообще это просто 4 каких-то символа
cin >> string просто сохранит их как 4 символа
cin >> int съест все идущие подряд цифры и попытается собрать из них число (1543)
cin >> char заберет только один символ за раз
 
Сверху Снизу