![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| OverloaD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 3.11.2005 Репутация: нет Всего: нет |
if(str[i]=='.')
{ k=i+1; for (k,G=0;k<strlen(str);G++,k++) { while ((str[k]=='1')|| (str[k]=='2')|| (str[k]=='3')|| (str[k]=='4')|| (str[k]=='5')|| (str[k]=='6')|| (str[k]=='7')|| (str[k]=='8')|| (str[k]=='9')|| (str[k]=='0')) { str2[G]=str[k]; } } for (G=0;G<strlen(str2);G++) { if (str2[G]=='.') printf("Nevernoe vyrazenie!"); } } нужно сделать защиту на ввод, чтоб если в строке str встречается к примеру "22.45.567" или "2..2, то выдаётся ошибка, как нужно переделать мой текст или может как-то по-другому?? заранее спасибо! |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
1) пользуем isdigit для проверки на то, что символ суть цифра
2) пользуем strchr(str,'.') для нахождения точки слева и strrchr(str,'.') для нахождения точки справа. Очевидно что если strchr(str,'.') == strrchr('.'), то встречается не более одной точки. 3)sscanf и istringstream не отменяли вроде -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| OverloaD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 3.11.2005 Репутация: нет Всего: нет |
sscanf и istringstream-это что такое?? в книге ничего толком не написано
и дело в том, что если я ввожу к примеру выражение 2.2, т.е. верное выражение, при котором эта часть программыне должна ничего делать, то у программа зацикливается на месте str2[G]=str[k];, то есть на while, а если ввожу выражение "2.." то в str2 он пишет какую-то ахинею. А в чём здесь проблема я разобраться не могу |
|||
|
||||
| OverloaD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 3.11.2005 Репутация: нет Всего: нет |
вобщем если не сложно напишите пожалуйста как это сделать, а то я замучался уже
|
|||
|
||||
| OverloaD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 3.11.2005 Репутация: нет Всего: нет |
всё сделал, спсибо большое за помощь!
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |