Здравствуйте, у меня вопрос.
Делаю калькулятор на С#, в принципе... Все сделал, но вот один нюанс. Если задать калькулятору пример, типо: 51+123*5
Калькулятор решает так: сначала сложение, а потом умножение, что есть неверно. Согласно законам математики, сначала производится умножение или деление, а потом сложение или отнимание.
Вот я и хочу сделать, чтобы калькулятор считал сначала умножение или деление, а потом сложение или отнимание.
Код на кнопку равно:
void OnEqualButtonClicked(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(currentOperator) && !string.IsNullOrWhiteSpace(currentInput))
{
double input = double.Parse(currentInput, CultureInfo.InvariantCulture);
switch (currentOperator)
{
case "+":
currentResult += input;
break;
case "-":
currentResult -= input;
break;
case "*":
currentResult *= input;
break;
case "/":
if (input != 0)
currentResult /= input;
else
{
resultLabel.Text = "Ошибка! Деление на ноль.";
return;
}
break;
default:
resultLabel.Text = "ОШИБКА ВВОДА!";
return;
}
currentInput = currentResult.ToString(CultureInfo.InvariantCulture);
currentOperator = "";
resultLabel.Text = currentInput;
}
}
Подскажите пж, как модифицировать код, чтобы он делал как я написал сверху.