Задача такова: необходимо ввести символ и проверить к какому алфавиту и регистру он принадлежит. С латинскими буквами все нормально,но проблемы возникают с кириллицей. Подскажите что не так в моей программе. Код данной задачи:
setlocale(LC_ALL,"Russian");
char i;
cin >> i;
char ENG [] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char eng [] = "abcdefghijklmnopqrstuvwxyz";
char RU [] = "АБВГДЭЕЖЗЫИКЛМНОПРСТУФХЦЧШЩЬЪЮЯЁ";
char ru [] = "aбвгдеёжзыиклмнопрстуфхцчшщьъюяё";
for (int h = 0;h <= 26;h++)
{
if(i == ENG[h]){cout <<"ENG";break;}
if(i == eng[h]){cout <<"eng";break;}
}
for (int b = 0;b <=33;b++)
{
if(i == RU[b]){cout <<"RU";break;}
if(i == ru[b]){cout <<"ru";break;}
}
return a.exec();
}
Для проверки символа по ограниченному нулем массиву char используйте strchr, т.е. условие if(strchr(массив, символ)) вместо цикла.
P.S. Использовать i для символа, а b, h для индексов, это "удачный" способ затруднить чтение кода...
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости