示例#1
0
 private void CalculateFunction()
 {
     if (match.Count > 0)
     {
         foreach (Match m in match)
         {
             mathematicalOperation = new MathematicalOperation(m, x, y);                                 //отправляем для рассчета
             functionResult        = functionResult.Replace(m.ToString(), mathematicalOperation.result); //переписываем тригонометрические функции на их результаты
         }
     }
 }
示例#2
0
 private void CheckBrackets()
 {
     while (functionResult.Contains("("))
     {
         PlusOrMinus();                                                                             //убираем двойные минусы и минусплюс
         string worckValue = functionResult.Substring(functionResult.LastIndexOf("("),
                                                      functionResult.IndexOf(")") -                 //определяем последнюю открывающуюся скобку, и первую закрывающуюся
                                                      functionResult.LastIndexOf("(") + 1);         //все что между ними отправляем на расчет, через перегруженный конструктор
         mathematicalOperation = new MathematicalOperation(worckValue, x, y);                       //и переписывае найденное значение между скобок на результат расчета
         functionResult        = functionResult.Replace(worckValue, mathematicalOperation.result);
     }
     mathematicalOperation = new MathematicalOperation(functionResult, x, y);                       //финальный расчет отдельно, так как скобок больше нет
     functionResult        = mathematicalOperation.result;
 }