2 / 2 / 1
Регистрация: 11.07.2016
Сообщений: 152
|
|
1 | |
Ввод через командную строку16.06.2023, 14:45. Показов 781. Ответов 14
Метки нет (Все метки)
Добрый день форумчане.
Стоит задача ввести в программу через командную строку функцию ((x-2)^3)-1 и использовать ее для дальнейших вычислении. Каким образом это можно сделать? Не понимаю пока как решается. Ввожу я ее в виде строки, я ее могу сохранить в массив. А вот как ее привести к виду для вычислении пока не понимаю. Очень прошу подсказать. спсаибо
0
|
16.06.2023, 14:45 | |
Ответы с готовыми решениями:
14
Программа должна запускаться через командную строку Как ввести через программу на си в командную строку значение переменной? Ввод через командную строку Файлы, ввод имени через командную строку Запуск через командную строку |
2 / 2 / 1
Регистрация: 11.07.2016
Сообщений: 152
|
|
16.06.2023, 15:43 [ТС] | 3 |
А какая физика этого процесса не пойму никак. в командной строке ввожу парfметр -f c аргументом (x-2)*(x-2)*(x-2)-1. getopt воспринимает это как строку. Тупик. как этот аргумент воткнуть в программу для дальнейшего вычисления
0
|
466 / 337 / 134
Регистрация: 18.07.2017
Сообщений: 1,478
|
|
16.06.2023, 15:59 | 4 |
Все верно, командная строка - текстовый интерфейс. Соответственно и передавать в/из нее можно именно текст.
Куда втыкать? У тебя он и так в argv пихается. Чего тебе еще надо? Распарсить строку? Ну так вперед, пиши парсилку для строки. Flex + bison в помощь.
0
|
2 / 2 / 1
Регистрация: 11.07.2016
Сообщений: 152
|
|
16.06.2023, 16:13 [ТС] | 5 |
Пользователь должен иметь возможность ввести разные функции(например: 0,6*х+5; 3/х;((x-2)^3)-1 В программе имеется функция которая принимает на вход эту функцию и производит вычисление. Я же не могу передать строку. Парсить эти строки ну чет не комильфо. Что нет способа сделать это проще.
0
|
466 / 337 / 134
Регистрация: 18.07.2017
Сообщений: 1,478
|
|
16.06.2023, 16:31 | 6 |
Можешь поискать какие-нибудь матлабовские библиотеки в которых уже есть готовые парсилки и преобразователи выражений. Но помочь не смогу ибо сам не работал.
https://www.mathworks.com/help... guage.html
1
|
16.06.2023, 20:22 | 7 |
Roman2947, посмотри, как это в GNU Octave сделано. Или в bc...
Если тебе нужно лишь 1 аргумент (х), то как раз bc в самый раз - тебе по сути и надо математический парсер написать. Думаю, за полгода осилишь - это не так и сложно, как кажется на первый взгляд.
1
|
2 / 2 / 1
Регистрация: 11.07.2016
Сообщений: 152
|
|
17.06.2023, 01:30 [ТС] | 8 |
0
|
Модератор
|
||||||
17.06.2023, 05:53 | 9 | |||||
Как вариант:
2
|
466 / 337 / 134
Регистрация: 18.07.2017
Сообщений: 1,478
|
|
17.06.2023, 14:01 | 10 |
Есть еще вариант использовать flex+bison. Есть документация и учебник на русском. Что удобно, он начинается с калькулятора полиса. https://www.opennet.ru/docs/RU... html#SEC17
1
|
Просто Лис
|
||||||
24.06.2023, 06:37 | 12 | |||||
2
|
1 / 1 / 0
Регистрация: 01.08.2023
Сообщений: 23
|
|
02.08.2023, 15:13 | 13 |
Рыжий Лис, так enum class'ы только в C++, не?
И к чему эти Doxygen'овские brief'ы?
0
|
4018 / 2564 / 430
Регистрация: 09.09.2017
Сообщений: 11,409
|
|
04.08.2023, 07:32 | 14 |
Странно что никто не предложил подключить скриптовый язык вроде Lua или Python.
0
|
Модератор
|
|
04.08.2023, 08:03 | 15 |
COKPOWEHEU, ничего странного. Это решение было бы типичным "изюмом из булки".
0
|
04.08.2023, 08:03 | |
04.08.2023, 08:03 | |
Помогаю со студенческими работами здесь
15
Компиляция через командную строку Компиляция через командную строку Запуск через командную строку с параметрами Сборка проекта через командную строку Закрытие программ через командную строку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |