![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| egorletov |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 9.2.2006 Репутация: нет Всего: нет |
(11.00+i*5.00) + (11.00+i*5.00) исходный файл (несколько комплексных чисел )
почему не работает такая фенька ? Case ' + ' ? хочется что бы он различал + перед числом или перед скобкой , для етого я их хочу различть .. '+' и ' + ' .. Почему ето не рабоает, если так нельзя то подскажите как можно ето в майне
са.сумм
са.индиф
|
||||||
|
|||||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
egorletov, если '+' это ещё символ, то ' + ' уже строка, которая в операторе case не может работать
|
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
egorletov, сам посуди, ты делаешь switch по одному символу, а хочешь распознавать последовательность из нескольких.
Кроме того, ' + ' — это совсем не то, что ты думаешь. Это не строка, а целочисленная константа. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Потому что switch case работают только для целых чисел. (char - одна из их разновидностей)
Происходит прямое вырешивание адреса. В твоих обрывках кода не разберёшься кстати. И что тебе нужно тоже непонятно. При чём там пробелы? |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
+, как правильно заметил Daevaorn, строки в switch участвовать не могут.
Методы разбора подобных строк на форуме давали. Можно использовать конечный автомат, можно врукопашную написать ту же самую логику — ничего сложного нет, просто подумать, какие символы и в какой последовательности могут встречаться. Это я к предыдщему своему сообщению подклеить хотел Это сообщение отредактировал(а) Void - 28.2.2006, 20:21 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| egorletov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 9.2.2006 Репутация: нет Всего: нет |
тут в чем вопрос .. насчёт пробелов , я подозревал что _+_ ето уже строка , поету спросил,правдо кривавато ))
а как мне сделать так что , когда он идёт по страке он делал что такое ... case '+' : //symiry (zapusk metoda classa) break; case'-': //vititay break; case'*': //ymnozay ny i t.d но проблема в том что у меня в строке урав-ие из комплексных чисел, поетому там есть т.называемые ненужные знаки + и * ... как ето обойти..? |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Запоминать, что было до знака. и потму ориентироваться. Только напрямую действия выполнять всё равно не получится, там же ещё скобки есть и прядок умножение/сложение надо соблюдать итд.
тебе нужен стек куда будешь складывать выражения, которые не можешь сразу решить. Вообще я бы сперва сделал класс для комплексного числа и с ним бы работал. Гдето эту тему уже проходили.. Добавлено @ 20:36 http://forum.vingrad.ru/index.php?act=ST&a...=74234&st=0 |
|||
|
||||
| egorletov |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 9.2.2006 Репутация: нет Всего: нет |
sergej.z, да я тот топик излазил с ног до головы , но чаго там всё раскидано .. Если тот человек который поднимал форум , выложил бы что то скомпанованое.Но он что-то утих...
.. .. .. Про СКОБки- Скобки это моя придумка чтобы , что бы он первый опратор не делал отрицательным. но если этого можно избежать ето было бы хорошо конечно.
file.txt: (11.20+i*5.00)+(141.40+i*5.00)-(11.00+i*5.00)+(12.00+i*8.00)+(11.00+i*5.00)-(123.00+i*5.00) ну вот, в моих снах она дложна сумировть потов вычетать . далее опеть прибавлять приба ну и т.д. в чём Ошибка кода? Это сообщение отредактировал(а) egorletov - 1.3.2006, 12:58 |
||||||||
|
|||||||||
| Lotrex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 9.2.2006 Где: Казань Репутация: 2 Всего: 3 |
||||
|
||||
| egorletov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 9.2.2006 Репутация: нет Всего: нет |
Lotrex,
Понимаешь, у меня проблема с написание (компиляцией) реализации задумки , так что если тебе не сложно приведи пример кода , как ето реализовать , желательно что бы его можно вписать в мой класс. что бы можно было протетстировать , и понять как ето работает . |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |