コード例 #1
0
ファイル: Brain.cs プロジェクト: Almaz-Takibayev/PP2
 void Result(bool isInput, string msg)
 {
     if (isInput)
     {
         currentState = CalcState.Result;
         Calculate();
         Calculate1();
         resultDelegate(resultNumber);
     }
     else
     {
         if (Rules.IsZero(msg))
         {
             Zero(true, msg);
         }
         else if (Rules.IsNonZeroDigit(msg))
         {
             tempNumber = "";
             AccumulateDigits(true, msg);
         }
         else if (Rules.IsOperator(msg) || Rules.IsXPowerY(msg) || Rules.IsSquareSign(msg) || Rules.IsOneOverXSign(msg) || Rules.IsPlusMinus(msg) || Rules.IsDEL(msg) || Rules.IsFactorial(msg) || Rules.IsBin(msg) || Rules.IsReBin(msg))
         {
             operation  = "";
             tempNumber = resultNumber;
             Compute(true, msg);
         }
         else if (Rules.IsSeparator(msg))
         {
             operation  = "";
             tempNumber = resultNumber;
             AccumulateDigitsWithDecimal(true, msg);
         }
         else if (Rules.IsClearSign(msg))
         {
             Zero(true, msg);
         }
         else if (Rules.IsOff(msg))
         {
             Off(true, msg);
         }
         else if (Rules.IsEqualSign(msg))
         {
             Result(true, msg);
         }
         else if (Rules.IsDivisibleSign(msg))
         {
             Error(true, msg);
         }
     }
 }
コード例 #2
0
ファイル: Brain.cs プロジェクト: Almaz-Takibayev/PP2
 void Zero(bool isInput, string msg)
 {
     if (isInput)
     {
         currentState = CalcState.Zero;
         resultDelegate("0");
         msg          = "";
         tempNumber   = "";
         resultNumber = "";
         operation    = "";
     }
     else
     {
         if (Rules.IsNonZeroDigit(msg))
         {
             AccumulateDigits(true, msg);
         }
         else if (Rules.IsSeparator(msg))
         {
             tempNumber = "0";
             AccumulateDigitsWithDecimal(true, msg);
         }
         else if (Rules.IsOff(msg))
         {
             Off(true, msg);
         }
         else if (Rules.IsOperator(msg) || Rules.IsRootSign(msg) || Rules.IsFactorial(msg) || Rules.IsBin(msg))
         {
             tempNumber = "0";
             Compute(true, msg);
         }
         else if (Rules.IsDivisibleSign(msg))
         {
             Error(true, msg);
         }
     }
 }