В языке Си есть две записи:
1) int x = 2+3*4;
2) char str[] = "2+3*4";
В первом случае мы получим значение выражения 2+3*4, а во втором его строковую запись.
Собственно вопрос: а можно ли стандартными способами языка преобразовать строку, считанную с консоли, в арифметическое выражение?
Я понимаю, что можно самому написать программу для этого, но это долго и велосипед.
Страуструп - Принципы и практика программирования, если не ошибаюсь, то в 6 главе вроде про это рассказывается. Там описывается полный процесс создания данного калькулятора, с определением приоритетов действий, при записи выражения в строку.
Совсем стандартными - нет. Какими либо математическими библиотеками - возможно. А на деле - это неплохая задачка для студента, изучающего программирование.
Вы ошиблись профессией. В программировании уживаются те, кто могут написать велосипед и быстро. 99% программ - велосипед. Фактически вашу задачу можно привести к "Быстро написать парсер ответа с сервера. Формат вы видите впервые. Готовых средств нету. Переписывать либу в 10к строк некогда." Просто вы видимо не работали никогда и считаете, что всё делается кнопкой "сделать заебись".
Да, я его почти уже доделал. Работает, но получился большой говнокод, в котором даже мне самому сложно ориентироваться. Думал, можно всё было сделать проще и изящней, но видимо придётся самому.