Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2013, 23:45   #1
Petersons
Новичок
Джуниор
 
Регистрация: 03.03.2013
Сообщений: 1
Вопрос Функция отбор гласных букв

Написать функцию glasn, которая возвращает 1, если символ,
полученный функцией в качестве аргумента, является глас ной
буквой русского алфавита, и 0 — в противном случае.
Код:
#include <iostream> 
#include <Windows.h>
using namespace std;
int glasn(char b)
{
    SetConsoleCP(1251);
	switch(b)
    {
	case 'а': return true;
              break;
    case 'е': return true;
              break;
    case 'ё': return true;
              break;
    case 'и': return true;
              break;
    case 'о': return true;
              break;
    case 'у': return true;
              break;
    case 'э': return true;
              break;
    case 'ю': return true;
              break;
    case 'я': return true;
              break;
              
    default:
             return false; 
	}
}
void main()
{
	SetConsoleOutputCP(1251);
	char b;
	cout<<"Введите букву"<<endl;
	cin>>b;
	cout<<glasn(b);
}
не правильно работает подскажите или подправьте.

Последний раз редактировалось Stilet; 04.03.2013 в 09:30.
Petersons вне форума Ответить с цитированием
Старый 04.03.2013, 13:29   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Код:
#include <iostream>
bool f(char c) {
  switch(c) {
    case 'а': case 'е': case 'ё': case 'и': case 'о':
    case 'у': case 'э': case 'ю': case 'я': 
      return true;
    default: 
      return false; 
  }
}

int main() {
  std::cout << f('а') << f('б');
}
rrrFer вне форума Ответить с цитированием
Старый 04.03.2013, 15:52   #3
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

погодите, вроде бы в исходном коде не считывается символьная переменная...
Igor95 вне форума Ответить с цитированием
Старый 04.03.2013, 17:45   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Цитата:
погодите, вроде бы в исходном коде не считывается символьная переменная...
верно, и что из этого?
rrrFer вне форума Ответить с цитированием
Старый 04.03.2013, 18:25   #5
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

а значит проблема в считывании, в самом первом сообщении считывается b, но при попытке вывода значения данной переменной наблюдается fail...
Igor95 вне форума Ответить с цитированием
Старый 04.03.2013, 18:27   #6
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

Нужно исправить ввод переменной b, т.к при выводе значения данной переменной наблюдается fail... И тогда ясно почему функция glasn() возвращает false...
Igor95 вне форума Ответить с цитированием
Старый 04.03.2013, 18:32   #7
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

Код:
SetConsoleOutputCP(1251);
	char b;
	cout<<"Введите букву"<<endl;
	cin>>b;
Где-то здесь ошибка
Igor95 вне форума Ответить с цитированием
Старый 04.03.2013, 19:10   #8
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Цитата:
И тогда ясно почему функция glasn() возвращает false...
МБ она возвращает false потому что TC сохранил исходник в неправильной кодировке )
------
и суть в том, что ТС не пишет про то, что что-то там должно вводица, а пишет четко:
Цитата:
Написать функцию glasn, которая возвращает 1, если символ,
полученный функцией в качестве аргумента, является глас ной
буквой русского алфавита, и 0 — в противном случае.
вот я и написал, зачем додумывать за него проблемы?

Последний раз редактировалось rrrFer; 04.03.2013 в 19:12.
rrrFer вне форума Ответить с цитированием
Старый 04.03.2013, 20:06   #9
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

но в исходнике человек вводит букву...
Igor95 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множества. Поиск гласных букв. 00884 Паскаль, Turbo Pascal, PascalABC.NET 1 25.05.2011 21:34
Перестановка гласных букв в обратном порядке fenix163 Помощь студентам 22 01.03.2011 00:58
Подсчитать кол-во гласных букв Владимир_король Помощь студентам 1 10.05.2010 13:08
поиск латинских гласных букв в строке KoFeMaN Помощь студентам 7 12.12.2009 17:24