WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  Delphi
  Калькулятор

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Калькулятор
Vladimir опубликован 22-11-2000 17:41 MSK   Click Here to See the Profile for Vladimir   Click Here to Email Vladimir  
Прошу прощения, т.к. вопрос, вроде бы, простой. Однако уже 2 дня у меня ничего не идет.

Вопрос:
есть строка, которую нужно высчитать, т.е. нужен калькулятор. Строка может быть простая: 5, а может и : -(5/8-6)*4552,1-(45-7*5)+2,1/(1-2)*1,5+8

Уже выкачал несколько исходников: но...
1) от DN - большой, разбираться как-то, не очень.
2) второй очень маленький. Все считал. Однако заткнулся на (1-2)*(4+5) - двойных выражениях.
3) в третьем (93 стр.) - самом маленьком я ничего не разобрался. умнО написано.
4) ....

Киньте, если не в тяжесть, мне небольшие исходники на goby@mail.ru. Или хоть URL

purpe опубликован 22-11-2000 17:48 MSK     Click Here to See the Profile for purpe  Click Here to Email purpe     
а этот смотрел ?
/delphi/delphi_convert_string_to_math.shtml

Если смотрел, то извини.

LexX80 опубликован 13-11-2000 13:53 MSK     Click Here to See the Profile for LexX80  Click Here to Email LexX80     
Есть исходник крутого калка, правда на С.
(Точнее на Yacc'е, lex'е ктотрые генерируют Сишный код калькулятора)
но работает с переменными и со скобками любой вложенности, а так-же может обрабатывать файлы с выражениями внутри.
Demo_S опубликован 18-11-2000 01:38 MSK     Click Here to See the Profile for Demo_S  Click Here to Email Demo_S     
есть три исходника
1) на паскале, через строки. то есть выделяем внутренние скобки, высчитываем их, заменяем текст в строке, который им сответствовал на их значение. (переконверченное в текст) потом также для всех операций умножения и деления. потом оствашуюся строку из цисел и знаков +- просто считаем.
глючно что результат промежуточных выражений записываем обратно в строку.
2)на с++, функциями рекурсивными. самы стандартный и распространенный вариант. работает даже с переменными.
3) на с++. конвертим строку с вегерскую запись (например 1+2->1 2 +) используя стек высчитываем эту строку. наверное самый быстрый.
тебе какой слать.
Valery Votintsev опубликован 18-11-2000 17:51 MSK     Click Here to See the Profile for Valery Votintsev  Click Here to Email Valery Votintsev     
А это смотрел:
http://pascal.sources.ru/parsing/swexpr.htm
http://pascal.sources.ru/parsing/calc_s.htm
http://pascal.sources.ru/parsing/bpc-sec.htm
http://pascal.sources.ru/parsing/2x2_12.htm
http://pascal.sources.ru/parsing/eval.htm
http://pascal.sources.ru/parsing/mcal.htm
http://pascal.sources.ru/parsing/calc.htm
http://pascal.sources.ru/parsing/calc_my.htm
http://pascal.sources.ru/parsing/2x2_13.htm
http://pascal.sources.ru/parsing/calk.htm
http://pascal.sources.ru/parsing/pars.htm

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.