функция,определяющая является ли буква гласной или согласной

#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,"rus");
    char ch;
    cout << "Введите букву: " << endl;
    cin >> ch;
    if (ch == 'a' || ch == 'A' ||
        ch == 'е' || ch == 'Е' ||
        ch == 'ё' || ch == 'Ё' ||
        ch == 'и' || ch == 'И' ||
        ch == 'о' || ch == 'О' ||
        ch == 'у' || ch == 'У' ||
        ch == 'ы' || ch == 'Ы' ||
        ch == 'э' || ch == 'Э' ||
        ch == 'ю' || ch == 'Ю' ||
        ch == 'я' || ch == 'Я' )
        cout <<ch<<"-"<< "гласная буква";
    else cout << ch << "-" << "не является буквой русского алфавита";
    if (ch == 'б' || ch == 'Б' ||
        ch == 'в' || ch == 'В' ||
        ch == 'г' || ch == 'Г' ||
        ch == 'д' || ch == 'Д' ||
        ch == 'ж' || ch == 'Ж' ||
        ch == 'з' || ch == 'З' ||
        ch == 'й' || ch == 'Й' ||
        ch == 'к' || ch == 'К' ||
        ch == 'л' || ch == 'Л' ||
        ch == 'м' || ch == 'М' ||
        ch == 'н' || ch == 'Н' ||
        ch == 'п' || ch == 'П' ||
        ch == 'р' || ch == 'Р' ||
        ch == 'с' || ch == 'С' ||
        ch == 'т' || ch == 'Т' ||
        ch == 'ф' || ch == 'Ф' ||
        ch == 'х' || ch == 'Х' ||
        ch == 'ц' || ch == 'Ц' ||
        ch == 'ч' || ch == 'Ч' ||
        ch == 'ш' || ch == 'Ш' ||
        ch == 'щ' || ch == 'Щ')
        cout << ch << "-" << "согласная буква";
    else cout << ch << "-" << "не является буквой русского алфавита";
    return 0;
}

У меня почему-то программа всегда выводит else.Мне нужно,чтобы программа выводила,что буква гласная или согласная,а если это что-то другое,то чтоб выводило "не является буквой русского алфавита".Плюс у меня еще почему-то выводятся странные символы.Приложил скрин скрин


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