Определить, является ли символ цифрой или буквой

Написать функцию, которая возвращает истину, если переданный параметр является алфавитно-цифровым и ложь, если не является.

if( a == (0 - 9 ) || ( A - Z)) 

Как сделать так чтобы он читал и понял что это за символ поправьте плз


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

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

если не пользоваться стандартными средствами можно написать так, если конечно передаваемый параметр является простым char

bool isAlphaOrDigit(const char symb)
{
  return symb >= '0' && symb <= '9' || 
    symb >= 'a' && symb <= 'z' || 
    symb >= 'A' && symb <= 'Z';
}

Update:

прошлый алгоритм не является переносимым, поскольку стандарт не гарантирует, что набор символов в кодировке содержит буквы латинского алфавита в определенном порядке.

вот версия, которая является более переносимой:

bool isAlphaOrDigit(const char symb)
{
  return symb >= '0' && symb <= '9' ||
    symb == 'a' || symb == 'b' || /*... ||*/ symb == 'z' ||
    symb == 'A' || symb == 'B' || /*... ||*/ symb == 'Z';
}
→ Ссылка