Top.Mail.Ru
Ответы

С++ вывод в консоль и гласные буквы :)

Код писал на 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 функцию