Beispiel #1
0
        public string SetSqrtOperationHex(string value)
        {
            double decimalScore = SetSqrtOperation(value);
            string score        = NumberSystemConverter.ConvertDecimalToHex(decimalScore);

            AddToCalculationsHistory(score, true);
            return(score);
        }
Beispiel #2
0
        public double Calculate()
        {
            if (currentNumSystem == NumSystem.Binary)
            {
                firstNumber  = NumberSystemConverter.ConvertBinaryToDecimal(firstNumber);
                secondNumber = NumberSystemConverter.ConvertBinaryToDecimal(secondNumber);
            }
            else if (currentNumSystem == NumSystem.Hex)
            {
                firstNumber  = NumberSystemConverter.ConvertHexToDecimal(firstHexNumber);
                secondNumber = NumberSystemConverter.ConvertHexToDecimal(secondHexNumber);
            }
            double score = 0;

            switch (currentOperation)
            {
            case "+":
                score = firstNumber + secondNumber;
                break;

            case "-":
                score = firstNumber - secondNumber;
                break;

            case "*":
                score = firstNumber * secondNumber;
                break;

            case "/":
                score = firstNumber / secondNumber;
                break;

            case "^":
                score = Math.Pow(firstNumber, secondNumber);
                break;
            }
            if (currentNumSystem == NumSystem.Binary)
            {
                firstNumber  = double.Parse(NumberSystemConverter.ConvertDecimalToBinary(firstNumber));
                secondNumber = double.Parse(NumberSystemConverter.ConvertDecimalToBinary(secondNumber));
                score        = double.Parse(NumberSystemConverter.ConvertDecimalToBinary(score));
            }
            if (currentNumSystem == NumSystem.Binary || currentNumSystem == NumSystem.Decimal)
            {
                AddToCalculationsHistory(score);
            }
            else
            {
                AddToCalculationsHistory(NumberSystemConverter.ConvertDecimalToHex(score));
            }
            firstNumber = score;
            return(score);
        }
 private void ScoreButton_Click(object sender, RoutedEventArgs e)
 {
     if ((NumSystem)NumberSystemComboBox.SelectedValue != NumSystem.Hex)
     {
         calculator.SetSecondNumber(double.Parse(currentNumber));
     }
     else
     {
         calculator.SetSecondNumber(currentNumber);
     }
     CleanCurrentNumber();
     if ((NumSystem)NumberSystemComboBox.SelectedValue != NumSystem.Hex)
     {
         MainTextBlock.Text = calculator.Calculate().ToString();
     }
     else
     {
         MainTextBlock.Text = NumberSystemConverter.ConvertDecimalToHex(calculator.Calculate());
     }
     currentNumber = MainTextBlock.Text;
     UpdateOperationsHistory();
 }
Beispiel #4
0
        public double SetSqrtOperation(string value)
        {
            if (currentNumSystem == NumSystem.Binary)
            {
                value = NumberSystemConverter.ConvertBinaryToDecimal(value).ToString();
            }
            else if (currentNumSystem == NumSystem.Hex)
            {
                value = NumberSystemConverter.ConvertHexToDecimal(value).ToString();
            }
            double score = Math.Sqrt(double.Parse(value));

            if (currentNumSystem == NumSystem.Binary)
            {
                score = double.Parse(NumberSystemConverter.ConvertDecimalToBinary(score));
            }
            if (currentNumSystem != NumSystem.Hex)
            {
                AddToCalculationsHistory(value, score, "√");
            }
            return(score);
        }