> если это буква НЕ RUS(маленькая,большая, и отдельно стоящие ё), НЕ ENG(маленькая,большая), и это НЕ пробел - то меняю boll на значение false
Здесь ты пишешь "И", а в коде почему-то стоит "ИЛИ".
вдумайся в смысл выражения (c != 32) || (c != 184), оно всегда истинно
И сравнивай стандартными функциями вроде isalpha, в крайнем случае c >= 'a' && c <= 'z', но не с числами, во первых не читаемо, во вторых нет гарантий, что кодировка ascii.
А ещё лучше упростить код так:
bool isValidChar = isAlpha(c) || isDigit(c) || isSomethingElse(c);
сразу понятно, что символ нам подходит только, если удовлетворяет хотя бы одному из условий. А чтоб совсем хорошо было, используй регулярные выражения.