![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Fally |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 17.8.2006 Где: Dahla Репутация: нет Всего: 4 |
Здравствуйте. Только начинаю свой путь в С++. Ситуация такая, есть последовательность из структур такого вида и два указателя (на начало и конец последовательности) а также строковая переменная в которую на некоторое время считывается ввод пользователя:
Всё это дело необходимо завернуть в класс, я решил это оформить сразу в его конструкторе:
Проблема состоит в том, что при добавлении последнего слова, сразу после которого идёт точка не назначается указатель на последний элемент последовательности, а точнее он не изменяется. До сих пор не могу понять в чём причина. Вот этот "кусок" кода, в котором и происходит некорректная работа:
Испробовал уже кучу вариантов, ничего не получилось. Пожалуйста, помогите разобраться с этим ужасным глюком. Заранее благодарен. P.S. К сожалению, различные контейнеры использовать запрещено. |
||||||
|
|||||||
| DjoNIK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 28.9.2006 Где: Питер/Георгиевск Репутация: 4 Всего: 5 |
А разве EOF не входит в область определения, при которой isspace возвращает true?
-------------------- - Плесни-ка мне холодного кипятку. - Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды? - Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку. (разговор петербуржца и москвича) |
|||
|
||||
| Fally |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 17.8.2006 Где: Dahla Репутация: нет Всего: 4 |
в смысле??? Я EOF не использую... а если вы имели ввиду EOI, то вот определение:
|
|||
|
||||
| wils0n |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 15.2.2006 Репутация: нет Всего: 1 |
Не уверен, что понял Вашу проблему
правильно ли я понял, что последний элемент не добавляется? Или как? а как Вы выявили проблему. Я имею ввиду, как Вы её обнаружили? Дебаггером или вывели список на экран? Если второе, то пожалуйста код, который это делает. |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
Fally, давай полный текст программы, чтобы можно было компилировать.
в конструкторе обычно выполняется инициализация объекта а не вся программа Код не очень удобен для восприятия, мягко говоря. |
|||
|
||||
| Fally |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 17.8.2006 Где: Dahla Репутация: нет Всего: 4 |
Просто ввод строки, это в принципе и есть инициализация объекта ;) Дальше будет куча действий над этой строкой, которую уже реализовывал через методы...
Выявил эту проблему, при помощи метода вывода введённого текста на экран (выводить можно и в обратном порядке), при выводе в том виде, в каком строка была введена всё нормально, а как только производиться вывод задом наперёд, то сразу замечается пропажа последнего слова, т.е.: Ввели: mama i papa. Вывод: mama i papa. Вывод в обратном порядке: i mama. Вот код всего класса:
И код использующий этот класс:
Это сообщение отредактировал(а) Fally - 6.10.2007, 17:00 |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |