Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
StelSvip
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 24
#1

Калькулятор выражений - C++

18.03.2014, 10:26. Просмотров 451. Ответов 1
Метки нет (Все метки)

Здравствуйте. Есть функция в калькуляторе принимающая значения. Не могу додумать как заставить ее работать с двухзначными и более числами. Нужна помощь
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int parse(char* expression)
{
    TStackElem* operands = NULL, *operations = NULL;
    for(unsigned int i = 0; i < strlen(expression); i++)
    {
        char symb = expression[i];
        if (symb >= '0' && symb <= '9')
        {
            push(symb - '0', operands);
        }
        else if (isOperation(symb))
        {
            int operationCode = getOperationCode(symb);
            while(!isEmpty(operations) && getPriority(peek(operations)) >= getPriority(operationCode))
            {
                doOperation(pop(operations), operands);
            }
            push(operationCode, operations);
        }
    }
    while(!isEmpty(operations))
    {
        doOperation(pop(operations), operands);
    }
    return pop(operands);
}
Добавлено через 5 минут
Была идея:
C++
1
2
3
4
5
6
char symb = expression[i];
        if (symb >= '0' && symb <= '9')
        {
            if(expression[i+1] >= '0' && expression[i+1] <= '9')
            push(expression[i]*10.0 + expression[i+1] - '0', operands);
        }
ну и соответственно это в цикл. Но не выходит.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 10:26     Калькулятор выражений
Посмотрите здесь:

Калькулятор с парсингом арифметических выражений - C++
Народ интересует вопрос возможно ли сделать калькулятор в console приложении на C++ так что бы я ввожу строку например 3+4*2 он берет всю...

Написать калькулятор логических выражений на С - C++
Здравствуйте. Помогите, пожалуйста, написать программу. Реализовать калькулятор – программу которая вычисляет логическое выражение...

Калькулятор для расчета сложных выражений - C++
в общем вот что у меня есть Добавлено через 3 минуты #include &lt;iostream&gt; #define PI 3.14159265 using namespace std; void...

Калькулятор выражений(строковый) через бинарное дерево - C++
Создал калькулятор выражений, но он считает только целые числа. Не могу доработать чтобы работал на вещественных. Так же во время тестов...

Интерпретация выражений на си - C++
Нужна помощь! Пусть имеется такое описание: struct { int x; char *y; } *p; Интерпретируйте следующие выражения в...

Вычисления выражений - C++
Здравствуйте, пожалуйста, помогите составить программы. В первом скрине, вычисление выражения. Во втором, вычисление с применением...

Вычисление выражений - C++
Помогите решить, задания на языке C 1. Создать программу для вычисления выражения. 2. Найдите площадь параллелограмма по...

Вычислитель выражений - C++
Может делал кто вычислитель выражений типа a*(b+c) ? Подкиньте идею, как приоритет операций разрулить?

Вычисление выражений - C++
Помогите пожалуйста разобраться с следующей задачей. Написать это нужно на языке Си (Linux). Необходимо выполнить вычисление трех...

правильность выражений - C++
1.for(int i=1;i&lt;11;i++) if(i&lt;0) continue; else cout«i«endl; На экран будет выведено 10 строк? 2.Если Х - переменная целочисленного...

Разбор выражений - C++
Вывести значение целочисленного выражения, заданного в виде строки S. Выражение определяется следующим образом: &lt;выражение&gt; ::= &lt;терм&gt;...

вычисление выражений в си++ - C++
A&gt;&gt;++B%--С, при a=4 b=5 c=6 выдаёт значение 2, пробывал на листке бумаги выполнять это выражение, оно выполняется справа налево, верно,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
774 / 707 / 129
Регистрация: 27.07.2012
Сообщений: 2,026
Завершенные тесты: 3
18.03.2014, 12:13     Калькулятор выражений #2
C++
1
2
3
4
5
while (is_digit(symbol))
{
    // копировать часть выражения (с числом) в другую строку
}
// перевести полученную строку в число
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru