Форум программистов, компьютерный форум CyberForum.ru

Проверка e-mail на правильность. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Где найти файл rc16to32.exe? http://www.cyberforum.ru/cpp-beginners/thread474158.html
В Borland C++ 4.5 пытаюсь 16-разрядный файл ресурса перевести в 32-разрядный. Требует файл rc16to32.exe. Может кто подскажет - где его найти.
C++ Нужно окошко за пределами главного... Есть у меня диалоговое окно. При опредённом событии (неважно каком именно) хочется появления ещё одного окна. То, что у меня до сих пор выходило, это только внутри окна-родителя. Ну наверное же можно повесить его где=нибудь за рамкой патеринского окна. Если кто знает как эту авантюру повернуть, прошу подсказать. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread474156.html
C++ Циклические списки, двоичные деревья и графы.
1 столкнулся с циклическими списками и двоичными деревьями и графами-жестко 2 Ищу несколько исходников по выше сказанному небольших только что бы разобратся подробнее о том как перевернуть циклический список, как построить двоичное дерево из букв строки, и напечатать его на экран. Спасибо. жду писем! :?:
C++ Динамические массивы -- помогите с ними разобраться!
Нужно составить программу на Си++: Выбрать из массива неповторяющиеся элементы и сформировать из них динамический массив. Проблема (для меня) в том, что новый массив нужно формировать в процессе работы программы.Т.е новый элемент должен добавляться в конец этого динамического массива (он нарастает по мере работы программы).Извините, если непонятно объяснил.Буду рад любому ответу. Спасибо, что...
C++ У кого есть описание формата скрипт файла ресурсов (.rc) http://www.cyberforum.ru/cpp-beginners/thread474041.html
У кого есть описание формата скрипт файла ресурсов (.rc) для линкера.
C++ Перевод римские цифры в арабские и обратно Помогите решить задачу на C++ перевод римские цифры в арабские и обратно. PLEASE. подробнее

Показать сообщение отдельно
SL57
0 / 0 / 0
Регистрация: 21.02.2009
Сообщений: 34
25.02.2009, 10:17  [ТС]     Проверка e-mail на правильность.
Ладушки я уже написал
Может кому пригодится ???

////////////////////////////////////////////////////

#include 'stdafx.h'

enum EStep
{
eUserNameStart,
eUserNameReed,
eDomeinStart,
eDomeinReed,
eNextDomeinStart,
eNextDomeinReed,
eEnd,
eErr
} ;
#define USER_NAME_ERR 'mistake in the Username. '
#define DOMAIN_ERR 'mistake in Domain. '
#define DEFAULT_ERR 'general mistake. '

#define HELP_ERR_STR_1 '(Forbided symbols)'
#define HELP_ERR_STR_2 '(expected presence '@')'
#define HELP_ERR_STR_3 '(expected presence '.')'
#define HELP_ERR_STR_4 '(Empty String)'
#define HELP_ERR_STR_5 '(Developer Mistake)'

#define isLang(CHAR_BYTE) (((CHAR_BYTE) >= 'A' && (CHAR_BYTE) <= 'Z') ||
((CHAR_BYTE) >= 'a' && (CHAR_BYTE) <= 'z') ||
((CHAR_BYTE) >= '0' && (CHAR_BYTE) <= '9'))

#define isDot(CHAR_BYTE) ( '.' == (CHAR_BYTE) )

#define isEnd(CHAR_BYTE) ( '' == (CHAR_BYTE) )

#define isDelimetr(CHAR_BYTE) ( '@' == (CHAR_BYTE) )


int ParsEmail(char* aEmail,char** aUserName,char** aDomain,char** aErrStr)
{
*aUserName = NULL;
*aDomain = NULL;
*aErrStr = NULL;

char theStrErr[1000] = {0};
char* theUserName = NULL;
char* theDomain = NULL;
int retVal = 0;
char* theReedForRemove = NULL;
char* theReed = NULL;
char theByte;
EStep theNextStep = eErr;

if(NULL == aEmail || '' == *aEmail)
{
strcpy(theStrErr,DEFAULT_ERR);

strcat(theStrErr,HELP_ERR_STR_4);

}
else
{
theReed = new char[strlen(aEmail) + 1];

strcpy(theReed,aEmail);

theReedForRemove = theReed;

theNextStep = eUserNameStart;
}

while(eEnd != theNextStep && eErr != theNextStep)
{
theByte = *theReed;

switch(theNextStep)
{
case eUserNameStart:
{
if(isLang(theByte))
{
theNextStep = eUserNameReed;

theUserName = theReed;

}
else
{
theNextStep = eErr;

strcpy(theStrErr,USER_NAME_ERR);

strcat(theStrErr,HELP_ERR_STR_1);

}
break;
}
case eUserNameReed:
{
if(isLang(theByte))
{
theNextStep = eUserNameReed;

}
else if(isDelimetr(theByte))
{
theNextStep = eDomeinStart;

*theReed = ''
}
else
{
theNextStep = eErr;

if(isLang(theByte) || isDot(theByte))
{
strcpy(theStrErr,DEFAULT_ERR);
strcat(theStrErr,HELP_ERR_STR_2);

}
else
{
strcpy(theStrErr,USER_NAME_ERR);
strcat(theStrErr,HELP_ERR_STR_1);
}
}
break;
}
case eDomeinStart:
{
if(isLang(theByte))
{
theNextStep = eDomeinReed;

theDomain = theReed;
}
else
{
theNextStep = eErr;

strcpy(theStrErr,DOMAIN_ERR);
strcat(theStrErr,HELP_ERR_STR_1);
}
break;
}
case eDomeinReed:
{
if(isLang(theByte))
{
theNextStep = eDomeinReed;
}
else if(isDot(theByte))
{
theNextStep = eNextDomeinStart;
}
else
{
theNextStep = eErr;

strcpy(theStrErr,DOMAIN_ERR);
strcat(theStrErr,HELP_ERR_STR_3);
}
break;
}
case eNextDomeinStart:
{
if(isLang(theByte))
{
theNextStep = eNextDomeinReed;
}
else
{
theNextS
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru