From 4724b616ce975ce8d9ad19d946314365056e149e Mon Sep 17 00:00:00 2001 From: timerix Date: Fri, 24 Nov 2023 14:07:23 +0600 Subject: [PATCH] operation history --- SharpCalculator.Avalonia/MainWindow.axaml.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/SharpCalculator.Avalonia/MainWindow.axaml.cs b/SharpCalculator.Avalonia/MainWindow.axaml.cs index 415a2c5..11d21b1 100644 --- a/SharpCalculator.Avalonia/MainWindow.axaml.cs +++ b/SharpCalculator.Avalonia/MainWindow.axaml.cs @@ -22,7 +22,7 @@ public partial class MainWindow : Window readonly Func _initialOperation = (_, firstN) => firstN; private Func _currentOperation; - private void NewOperation(Func operation, string operationText) + private void NewOperation(Func operation, Func operationText) { // operation replacement if (_currentNumberB.Length == 0) @@ -33,7 +33,7 @@ public partial class MainWindow : Window Output.Text = _prevNumber.ToString(CultureInfo.InvariantCulture); _currentNumberB.Clear(); } - Input.Text = _prevNumber.ToString(CultureInfo.InvariantCulture) + " " + operationText + " "; + Input.Text += operationText(); _currentOperation = operation; } @@ -56,25 +56,25 @@ public partial class MainWindow : Window switch (text) { case "+": - NewOperation((a, b) => a + b, text); + NewOperation((a, b) => a + b, () => text); break; case "-": - NewOperation((a, b) => a - b, text); + NewOperation((a, b) => a - b, () => text); break; case "*": - NewOperation((a, b) => a * b, text); + NewOperation((a, b) => a * b, () => text); break; case "/": - NewOperation((a, b) => a / b, text); + NewOperation((a, b) => a / b, () => text); break; case "^": - NewOperation(Math.Pow, text); + NewOperation(Math.Pow, () => text); break; case "=": - NewOperation((_, newNumber) => newNumber, ""); + NewOperation((_, newNumber) => newNumber, () => $"={_prevNumber}\n"); break; default: - throw new Exception("incorrect button text: " + text); + throw new Exception("incorrect button text: "); } }