示例#1
0
        public double GetOperandDouble(string input)
        {
            double doubleValue;

            Console.WriteLine(input);
            while (!double.TryParse(input, out doubleValue))
            {
                input = IoManager.ReadOperand("Input must be double number !");
            }
            return(doubleValue);
        }
示例#2
0
        public int GetOperandInt(string input)
        {
            int intValue;

            Console.WriteLine(input);
            while (!int.TryParse(input, out intValue))
            {
                input = IoManager.ReadOperand("Input must be double number !");
            }
            return(intValue);
        }
示例#3
0
        public string ConvertArrayToString(int[,] m1, int[,] m2, int[,] m3)
        {
            string stringarray = "matrix multiplication result : ";

            stringarray  = IoManager.CreateString(m1, stringarray);
            stringarray += " * ";
            stringarray  = IoManager.CreateString(m2, stringarray);
            stringarray += " = ";
            stringarray  = IoManager.CreateString(m3, stringarray);

            return(stringarray);
        }
示例#4
0
 public void start(string input = null)
 {
     numRunnerMenu.isFirstLoop = true;
     exit = false;
     if (input == null)
     {
         while (!exit)
         {
             try
             {
                 mainMenu.MainMenuStart();
                 input = mainMenu.operationInput;
                 if (mainMenu.operationInput == "c")
                 {
                     mainMenu.clearLastResult(mainMenu.operationInput);
                 }
                 else if (mainMenu.operationInput == "h")
                 {
                     mainMenu.historyProgram(mainMenu.operationInput);
                 }
                 else if (mainMenu.operationInput == "q")
                 {
                     exit = true;
                 }
                 else if (mainMenu.operationInput == "b")
                 {
                     mainMenu.weight = numRunnerMenu.GetOperandDouble(mainMenu.weightMsg);
                     mainMenu.height = numRunnerMenu.GetOperandDouble(mainMenu.heightMsg);
                     numRunnerMenu.SetInputsForBMI(mainMenu.Operation, mainMenu.weight, mainMenu.height);
                     mainMenu.Operation.Calculate();
                     mainMenu.Operation.addToHistory(mainMenu.Operation.SaveDisplayRes());
                 }
                 else if (mainMenu.operationInput == "m")
                 {
                     matrixRunnerMenu.isFirstLoop = IoManager.Checker(mainMenu.LastResultMatrix);
                     mainMenu.Matrix1             = matrixRunnerMenu.SetInputM1(matrixRunnerMenu.isFirstLoop, matrixRunnerMenu.Matrix1, mainMenu.LastResultMatrix);
                     IoManager.WriteOperand(b);
                     mainMenu.Matrix2 = matrixRunnerMenu.SetLengthM2(mainMenu.Matrix1);
                     matrixRunnerMenu.SetInputsForMartix(mainMenu.Operation, mainMenu.Matrix1, mainMenu.Matrix2);
                     mainMenu.Operation.Calculate();
                     mainMenu.Operation.addToHistory(mainMenu.Operation.SaveDisplayRes());
                     mainMenu.LastResultMatrix = mainMenu.Operation.MatrixResult;
                 }
                 else
                 {
                     numRunnerMenu.isFirstLoop = IoManager.CheckerN(mainMenu.LastResult);
                     mainMenu.FirstArgument    = numRunnerMenu.isFirstLoop ? numRunnerMenu.GetOperandDouble(mainMenu.firstMsg) : mainMenu.LastResult;
                     mainMenu.SecondArgument   = numRunnerMenu.GetOperandDouble(mainMenu.secondMsg);
                     numRunnerMenu.SetOperands(mainMenu.Operation, mainMenu.FirstArgument, mainMenu.SecondArgument);
                     mainMenu.Operation.Calculate();
                     mainMenu.Operation.addToHistory(mainMenu.Operation.SaveDisplayRes());
                     mainMenu.LastResult = mainMenu.Operation.Result;
                 }
             }
             catch (IncorrectInputException e)
             {
                 Console.WriteLine(e.Message);
             }
             catch (EmptyHistoryException e)
             {
                 Console.WriteLine(e.Message);
             }
             catch (NullReferenceException e)
             {
                 Console.WriteLine(e.Message);
             }
         }
     }
 }