getch
возвращает символ код .Код символа для «0» - это 48, а не 0, хотя вместо этого можно использовать символьную константу (так как константы символов действительно целочисленные константы), и это будет более читабельным.Итак:
if (input >= '0' && input <= '9')
Если вы используете Visual C ++ (как указывают ваши теги), вы можете найти документацию MSDN полезной.Например, вам, вероятно, следует использовать вместо _getch
или _getchw
, если вы хотите написать программное обеспечение, которое можно использовать более глобально.И в том же духе вы, вероятно, захотите взглянуть на isdigit
, isdigitw
и т. П. .