22:14

с++

с пробитой головой калека
товарищи, помогите, пожалуйста.

польская нотация и дек

@темы: C++

Комментарии
12.04.2012 в 22:25

Является оператором - проверить легко.
Дальше, если содержит разделитель (например, точку) - то double.
Иначе - инт.

Это так, на вскидку.

Считываем в стринг, а дальше, в зависимости от типа, преобразуем.
12.04.2012 в 22:31

с пробитой головой калека
dpleshakov, Дальше, если содержит разделитель (например, точку) - то double. Иначе - инт.
я немного не это имела ввиду. именно отличить число от оператора. ну вы мне в принципе подали идею. если есть число в слове, то логично, что это число) только надо на корректность проверять.

Считываем в стринг, а дальше, в зависимости от типа, преобразуем.
а не будет ли у меня проблем с double?
12.04.2012 в 22:38

.tenderness_,
Посмотрите www.cplusplus.com/reference/iostream/stringstre...
Это к вопросу о переводе из строк в различные типы.

Можно даже переопределить operator>> для вашего типа данных, что бы уже в нем определялся переданный тип и заносился в нужное поле структуры.
Если нужно и интересно - покажу как.

Вообще же, я вижу следующие действия:
Получаем очередной элемент, заносим его (пожалуй) сразу в string stream, а из него в нашу структуру. В переопределенном операторе происходит определение типа и заполнение нужного поля
12.04.2012 в 22:53

с пробитой головой калека
dpleshakov, спасибо большое за ссылку)

Можно даже переопределить operator>> для вашего типа данных, что бы уже в нем определялся переданный тип и заносился в нужное поле структуры. Если нужно и интересно - покажу как.

если не сложно, то покажите пожалуйста)
12.04.2012 в 23:19

.tenderness_,
Код не то, что бы зашибись - я торопился спать)

спойлер: под катом вариант решения вашей проблемы
12.04.2012 в 23:24

с пробитой головой калека
dpleshakov,
спасибо большое)
даже почти все поняла)