С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для dion_86
10 / 10 / 2
Регистрация: 27.11.2011
Сообщений: 251

Калькулятор на php: как правильнее работать с арифметическими операциями

21.10.2012, 21:26. Показов 2186. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скачал методичку ШАГа, прошел переменные, математические функции, массивы, строки, вызов функций.
Под конец дошел до домашнего задания
Разработать калькулятор который будет понимать +, -, /, *.
При вводе пользователем такого уравнения (18/6+3)*4 должен быть выведен результат : 24.
Решил сделать так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
if (!$_POST["submitted"]){
echo "Введите уравнение и нажмите ВЫЧИСЛИТЬ для получения результата <br><br>";
echo "
    <form method=\"post\">
        <input type=\"text\" name=\"result\" size=\"30\">
        <tr><br><br></tr>
        <input type=\"submit\" name=\"submitted\" value=\"ВЫЧИСЛИТЬ\">
    </form>
";
}
else{
    Вот тут я думаю что писать дальше...
}
Далее планирую введенную строку преобразовать в массив для преобразования строки в отдельные элементы. Потом через цикл отделить числа от математических операторов. Потом написать что если a[i]="+", то $n=a[i-1]+a[i+1].
Можно конечно сделать проще если знать какая функция преобразует строку введенную в <input> в само выражение и при нажатии кнопки "ВЫЧИСЛИТЬ" выводится результат.
Я понимаю что вы хотите мне помочь но если вдруг у вас возникнет идея закинуть мне сразу весь решенный код то лучше этого не делаете, так как сам нечего знать не буду, а просто дайте подсказку.
Спасибо

Добавлено через 3 минуты
И еще, в одной теме я уже прошу дать мне подсказку, и попрошу в этой подсказать мне литературу где есть на подобие ШАГа система обучения "теория - домашнее задание", а не просто начитка лекций с примерами.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2012, 21:26
Ответы с готовыми решениями:

Написать перечисление с арифметическими операциями
Напишите перечисление с арифметическими операциями: add, sub, mul, div. Напишите метод с тремя параметрами: 1....

Класс матриц с арифметическими операциями С++
Я создаю класс матриц с операциями сложения, умножения, вычитания матриц, умножения на константу, транспонирования на С++. Почему-то не...

Теорема о связи дифференциала с арифметическими операциями
пусть функции f:O(Xо)-&gt;R, g:O(Xо)-&gt;R дифференцируемы в точке X(о)принадлежит R^n Тогда в этой точке: 1) d(cf)=cdf для любых с из R 2)...

12
21.10.2012, 21:49

Не по теме:

Цитата Сообщение от dion_86 Посмотреть сообщение
PHP
1
if (!$_POST["submitted"]){
уже неверно.
PHP
1
if(!isset($_POST['submitted'])) {
скачайте лучше учебник..

0
 Аватар для dion_86
10 / 10 / 2
Регистрация: 27.11.2011
Сообщений: 251
21.10.2012, 22:30  [ТС]
скачайте лучше учебник..
Ну а какой?
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
21.10.2012, 23:32
вот здесь есть нормальные уроки для начала
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
21.10.2012, 23:33
http://www.php.net/manual/ru/ для начала - а потом здесь есть прикрепленный раздел Учебники по PHP (помеченные "важно")

Добавлено через 49 секунд

Не по теме:

чтож все эти видеокурсы смотрят, почему никто не хочет книжек читать.. :(

0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
21.10.2012, 23:35
ну мое личное мнение что лучше сначала посмотреть попробовать попавторять а потом уже читать,
лучше один раз увидеть...
0
 Аватар для dion_86
10 / 10 / 2
Регистрация: 27.11.2011
Сообщений: 251
22.10.2012, 00:32  [ТС]
На счет учебников спасибо большое, ну а с калькулятором что.
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
22.10.2012, 02:37
PHP
1
2
3
4
$result = strip_tags ($_POST['result']);
$input = '$output = ' . $result . ';';
eval ($input);
echo '$result = ' . $output;
Добавлено через 3 минуты
но нужно еще через регулярку пропустить что бы кроме цифр и знаков ничего не оставалось
0
 Аватар для Василий Макогон
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
22.10.2012, 13:15
Цитата Сообщение от alpex Посмотреть сообщение
PHP
1
2
3
4
$result = strip_tags ($_POST['result']);
$input = '$output = ' . $result . ';';
eval ($input);
echo '$result = ' . $output;
Добавлено через 3 минуты
но нужно еще через регулярку пропустить что бы кроме цифр и знаков ничего не оставалось
позволить выполнять любой текст, который ввел пользователь - это дыра, причем самая крутая. и strip_tags тут нафиг не нужен.

Добавлено через 2 минуты
dion_86, задачи такого уровня - (18/6+3)*4 - требуют отнюдь не начальных навыков. это задача по разбору выражения - для этого нужно использовать конечные автоматы, например. странно, что в учебнике по php дают такие задачи для новичков.
0
 Аватар для basili4
201 / 199 / 4
Регистрация: 13.06.2012
Сообщений: 1,009
Записей в блоге: 3
22.10.2012, 13:19
Василий Макогон, ну ничего особенного в этом нет главное знать как это разбирать.

http://ru.wikipedia.org/wiki/%... 1%81%D1%8C
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
22.10.2012, 17:25
Цитата Сообщение от Василий Макогон Посмотреть сообщение
позволить выполнять любой текст, который ввел пользователь - это дыра, причем самая крутая. и strip_tags тут нафиг не нужен.
Ну если пропустить через регулярку и оставить только цифры и знака, то какая может быть дыра?
0
 Аватар для dion_86
10 / 10 / 2
Регистрация: 27.11.2011
Сообщений: 251
22.10.2012, 20:57  [ТС]
Василий Макогон
позволить выполнять любой текст, который ввел пользователь - это дыра, причем самая крутая. и strip_tags тут нафиг не нужен.
Странно, я скачал методичку по ШАГ и тут даже не новички спорят. Если не найду ответ на эту задачу, то напишу проще калькулятор типа введите первую цифру, потом выберите действие и введите вторую цифру.
Ну если пропустить через регулярку и оставить только цифры и знака, то какая может быть дыра?
Я понятия не имею что такое регулярка и как она пишется на языке PHP.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.10.2012, 21:00
dion_86, проще всего - использовать select для выбора опции (ну или кнопки, radio к примеру)
и выводить не одно поле для ввода выражения - а два. Единственный минус - невозможность множественных действий одновременно

Добавлено через 39 секунд
Цитата Сообщение от dion_86 Посмотреть сообщение
Я понятия не имею что такое регулярка и как она пишется на языке PHP.
Памятка по регулярным выражениям PCRE в PHP
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.10.2012, 21:00
Помогаю со студенческими работами здесь

Класс вектор с арифметическими операциями, перегруженные операторы
Добрый день! Нужна помощь. Реализовываю класс вектор с арифметическими операторами с помощью контейнера &lt;vector&gt;. У меня имеются...

Вычислить значение выражения пользуясь только арифметическими операциями
Всем доброго времени суток. Помогите придумать решение для следующего задания : даны действительные числа x и y. Не пользуясь никакими...

Не пользуясь арифметическими операциями, кроме умножения, сложения, вычитания, вычислить 1+2+3х^2+4х^3
1)Дано Действительное число Х.Не пользуясь другими арифметическими операциями ,кроме умножения ,сложения,вычетания ,вычеслить 1+2+3х^2+4х^3...

Не пользуясь никакими другими арифметическими операциями,кроме умножения получить а^21 за 6 операций
Дано действительное число а.Не пользуясь никакими другими арифметическими операциями,кроме умножения получить а21 за 6 операций.

Не пользуясь никакими другими арифметическими операциями, кроме умножения вычислить выражение
Даны действительные числа x, y. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru