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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2009, 17:28   #1
DR&FG
 
Регистрация: 24.10.2009
Сообщений: 5
По умолчанию Вопрос о перечислениях: enum

Совсем недавно пересел с паскаля на си, не знаю как реализовать следующий прием:

Я определяю алфавит - перечисление всех букв.

Код HTML:
enum alphabet {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,
	           A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z};
Вопрос: как определить, входит ли символ, хранящийся в char переменной, назовем ее ch, в алфавит, или нет? результат именно true или false.

К примеру в паскале это реализовывалось примерно так:
Код HTML:
if ch in alphabet then flag:=true
                                else flag:=false;
DR&FG вне форума Ответить с цитированием
Старый 24.10.2009, 17:35   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Перечисления не являются аналогом множеств в Паскале, это лишь константы. В C++ проще будет проверять так:
Код:
if( ((ch >= 'A') && (ch <= 'Z')) || ((ch >= 'a') && (ch <='z')) )
   flag = true;
else
   flag = false;
В принципе, такая проверка обеспечивается функцией стандартной библиотеки isalpha
Код:
if( isalpha(ch) )
    flag = true;
else
    flag = false;
// Аналогичная запись:
flag = (isalpha(ch))? true : false;
netrino вне форума Ответить с цитированием
Старый 24.10.2009, 18:12   #3
DR&FG
 
Регистрация: 24.10.2009
Сообщений: 5
По умолчанию

netrino, спасибо за помощь!
для использования isalpha() подключил еще библиотеку Ctype.h, и все заработало!)
DR&FG вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с enum istoe Microsoft Office Excel 2 28.08.2009 12:53
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10
Borland C++ не хочет видеть тип String? SERGOO Общие вопросы C/C++ 3 10.06.2007 12:37
Вопрос по 1 С Aleksandr Свободное общение 0 08.06.2007 09:29