Мой эвалютор выражений

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Мой эвалютор выражений

Сообщение ANDLL » 18.03.2006 (Сб) 23:02

Вот.

Поддерживаемые операции:
- Бинарные +,-,*,/
- Унарный -

Поддерживаемые фичи:
- Скобки(неограниченное число)
- Переменные(имя должно начинаться с буквы, регистр имеет значение)

Для примера можно набрать:
(A+B)\2+C*(-2)+8

Архив: http://bbs.vbstreets.ru/viewtopic.php?p=6592374#6592374
Последний раз редактировалось ANDLL 20.03.2006 (Пн) 11:27, всего редактировалось 3 раз(а).
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 18.03.2006 (Сб) 23:22

Или я что то-то плохо понимаю, или что, почему когда я ввел 10*5, Result = 515 :?:
الفيجوال بيسك الرابح

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 18.03.2006 (Сб) 23:35

Ы?
Release, собранный в VS 2005 считает неправильно :shock:

Во вложении(см выше) сборка, сделанная в VS 6.0. Все считает.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 18.03.2006 (Сб) 23:44

3 раза пробовал скачать новый аттач, на 4-ый раз лиш удалось.
А так вроде бы работает.
الفيجوال بيسك الرابح

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 19.03.2006 (Вс) 0:40

We ends

Эта пять! :lol:
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 19.03.2006 (Вс) 0:49

Вот че нашел: вводим a-a, в идеале, какое б не было а, результат будет 0. Вводим а=-1, и получаем -1, глюк, или я че то не то делаю:?:
الفيجوال بيسك الرابح

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 19.03.2006 (Вс) 9:30

2GM: Спасибо!
Там была ошибка в реализации операции -. Исправлена(см. архив выше).
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 20.03.2006 (Пн) 2:42

Деление на ноль не обрабатывается.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.03.2006 (Пн) 6:44

Ну надо же... Мой "эвалютор" никто так не тестил :-(
То ли C++ всем ближе и роднее, чем C#, то ли у меня багов совсем не было... :roll:
Изображение

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 20.03.2006 (Пн) 9:57

tyomitch писал(а):Ну надо же... Мой "эвалютор" никто так не тестил :-(
То ли C++ всем ближе и роднее, чем C#, то ли у меня багов совсем не было... :roll:


А нафига оно? Если по умолчанию уже есть Script-контрол в котором с полпинка можно сделать практически что угодно? Чем свой лисапед-то лучше?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 20.03.2006 (Пн) 11:25

Новая версия. Переработанная и дополненная.


Поддерживаемые операции:
- Бинарные +,-,*,/, |, &, ||, &&
- Унарный -,~(не)

Поддерживаемые фичи:
- Скобки(неограниченное число)
- Переменные(имя должно начинаться с буквы, регистр имеет значение)
- Фунуции(pow,exp,sqrt) [правда толку не очень много, потому что все операции целочисленные]

Для примера можно набрать:
(A+B)\2+C*(-2)+8
exp(A)/exp(A+1)-exp(1) - всегда возвращает 0

Примечания
1. Отсутствует контроль переполнения. Так во втором примере можно ввести 555 и увидеть совсем не то, что хочется, потому что exp(555) выходит за пределы int'а.
2. У функции pow нет контроля правильности переданных параметров
Вложения
Calc.zip
Version 0.0.2
(66.16 Кб) Скачиваний: 40
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 128

    TopList