Загрузка данных


using Avalonia.Controls;
using Avalonia.Interactivity;

namespace CalculatorApp
{
    public partial class MainWindow : Window
    {
        // Храним числа и операцию напрямую
        string a = "";
        string b = "";
        string op = "";

        public MainWindow()
        {
            InitializeComponent();
        }

        // --- КНОПКИ ЦИФР (каждая вручную тупо дописывает свою цифру) ---

        private void Btn0_Click(object sender, RoutedEventArgs e)
        {
            if (op == "") { a = a + "0"; Display.Text = a; }
            else { b = b + "0"; Display.Text = b; }
        }

        private void Btn1_Click(object sender, RoutedEventArgs e)
        {
            if (op == "") { a = a + "1"; Display.Text = a; }
            else { b = b + "1"; Display.Text = b; }
        }

        private void Btn2_Click(object sender, RoutedEventArgs e)
        {
            if (op == "") { a = a + "2"; Display.Text = a; }
            else { b = b + "2"; Display.Text = b; }
        }

        private void Btn3_Click(object sender, RoutedEventArgs e)
        {
            if (op == "") { a = a + "3"; Display.Text = a; }
            else { b = b + "3"; Display.Text = b; }
        }

        private void Btn4_Click(object sender, RoutedEventArgs e)
        {
            if (op == "") { a = a + "4"; Display.Text = a; }
            else { b = b + "4"; Display.Text = b; }
        }

        private void Btn5_Click(object sender, RoutedEventArgs e)
        {
            if (op == "") { a = a + "5"; Display.Text = a; }
            else { b = b + "5"; Display.Text = b; }
        }

        private void Btn6_Click(object sender, RoutedEventArgs e)
        {
            if (op == "") { a = a + "6"; Display.Text = a; }
            else { b = b + "6"; Display.Text = b; }
        }

        private void Btn7_Click(object sender, RoutedEventArgs e)
        {
            if (op == "") { a = a + "7"; Display.Text = a; }
            else { b = b + "7"; Display.Text = b; }
        }

        private void Btn8_Click(object sender, RoutedEventArgs e)
        {
            if (op == "") { a = a + "8"; Display.Text = a; }
            else { b = b + "8"; Display.Text = b; }
        }

        private void Btn9_Click(object sender, RoutedEventArgs e)
        {
            if (op == "") { a = a + "9"; Display.Text = a; }
            else { b = b + "9"; Display.Text = b; }
        }

        // --- КНОПКИ ОПЕРАЦИЙ ---

        private void BtnPlus_Click(object sender, RoutedEventArgs e)
        {
            op = "+";
        }

        private void BtnMinus_Click(object sender, RoutedEventArgs e)
        {
            op = "-";
        }

        private void BtnMultiply_Click(object sender, RoutedEventArgs e)
        {
            op = "*";
        }

        private void BtnDivide_Click(object sender, RoutedEventArgs e)
        {
            op = "/";
        }

        // --- КНОПКА РАВНО ---

        private void BtnEquals_Click(object sender, RoutedEventArgs e)
        {
            double num1 = double.Parse(a);
            double num2 = double.Parse(b);
            double res = 0;

            if (op == "+")
            {
                res = num1 + num2;
            }
            if (op == "-")
            {
                res = num1 - num2;
            }
            if (op == "*")
            {
                res = num1 * num2;
            }
            if (op == "/")
            {
                res = num1 / num2;
            }

            Display.Text = res.ToString();

            // Записываем результат обратно в 'a', чтобы можно было считать дальше
            a = res.ToString();
            b = "";
            op = "";
        }

        // --- СБРОС ---

        private void BtnClear_Click(object sender, RoutedEventArgs e)
        {
            a = "";
            b = "";
            op = "";
            Display.Text = "0";
        }
    }
}