С++ вывод в консоль и гласные буквы :)
Код писал на C++, только понять не могу почему в консоли он пишет странные символы и если ввести гласную букву, то он говорит что не гласная :|

Условие:
Написать функцию glasn, которая возвращает 1, если символ, полученный функцией в качестве
аргумента, является гласной буквой русского алфавита, и ноль — в противном случае.
setlocale(LC_ALL,"Russian"); пробовал не работает.
вот код, помогите....
123456789101112131415161718192021222324252627282930313233343536373839
#include <iostream>
#include <windows.h>
using namespace std;
int glasn(char c) {
switch(c){
case 'е':
case 'у':
case 'и':
case 'а':
case 'ю':
case 'ы':
case 'ё':
case 'э':
case 'о':
case 'я':
return 1;
default:
return 0;
}
}
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char c;
while (true) {
cout << "Гласная: ";
cin >> c;
if (glasn(c)) {
cout << "Glasn.\n";
} else {
cout << "Ne glasn.\n";
}
}
}
По дате
По рейтингу
Может у тебя редактор в кодировке utf-8? Попробуй не char а wchar_t
setlocale (LC_ALL,"Russian"); Эту строчку вставь в main функцию