| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Case ' + ' почему не работает? |
| Автор: egorletov 28.2.2006, 19:44 | ||||||
| (11.00+i*5.00) + (11.00+i*5.00) исходный файл (несколько комплексных чисел ) почему не работает такая фенька ? Case ' + ' ? хочется что бы он различал + перед числом или перед скобкой , для етого я их хочу различть .. '+' и ' + ' .. Почему ето не рабоает, если так нельзя то подскажите как можно ето в майне
са.сумм
са.индиф
|
| Автор: Daevaorn 28.2.2006, 20:08 |
| egorletov, если '+' это ещё символ, то ' + ' уже строка, которая в операторе case не может работать |
| Автор: Void 28.2.2006, 20:11 |
| egorletov, сам посуди, ты делаешь switch по одному символу, а хочешь распознавать последовательность из нескольких. Кроме того, ' + ' — это совсем не то, что ты думаешь. Это не строка, а целочисленная константа. |
| Автор: sergejzr 28.2.2006, 20:12 |
| Потому что switch case работают только для целых чисел. (char - одна из их разновидностей) Происходит прямое вырешивание адреса. В твоих обрывках кода не разберёшься кстати. И что тебе нужно тоже непонятно. При чём там пробелы? |
| Автор: Void 28.2.2006, 20:13 |
| +, как правильно заметил Daevaorn, строки в switch участвовать не могут. Методы разбора подобных строк на форуме давали. Можно использовать конечный автомат, можно врукопашную написать ту же самую логику — ничего сложного нет, просто подумать, какие символы и в какой последовательности могут встречаться. Это я к предыдщему своему сообщению подклеить хотел |
| Автор: egorletov 28.2.2006, 20:23 |
| тут в чем вопрос .. насчёт пробелов , я подозревал что _+_ ето уже строка , поету спросил,правдо кривавато )) а как мне сделать так что , когда он идёт по страке он делал что такое ... case '+' : //symiry (zapusk metoda classa) break; case'-': //vititay break; case'*': //ymnozay ny i t.d но проблема в том что у меня в строке урав-ие из комплексных чисел, поетому там есть т.называемые ненужные знаки + и * ... как ето обойти..? |
| Автор: sergejzr 28.2.2006, 20:34 |
| Запоминать, что было до знака. и потму ориентироваться. Только напрямую действия выполнять всё равно не получится, там же ещё скобки есть и прядок умножение/сложение надо соблюдать итд. тебе нужен стек куда будешь складывать выражения, которые не можешь сразу решить. Вообще я бы сперва сделал класс для комплексного числа и с ним бы работал. Гдето эту тему уже проходили.. Добавлено @ 20:36 http://forum.vingrad.ru/index.php?act=ST&f=142&t=74234&st=0 |
| Автор: egorletov 1.3.2006, 12:55 | ||||||||
| 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 4.3.2006, 15:09 |
| Lotrex, Понимаешь, у меня проблема с написание (компиляцией) реализации задумки , так что если тебе не сложно приведи пример кода , как ето реализовать , желательно что бы его можно вписать в мой класс. что бы можно было протетстировать , и понять как ето работает . |