Загрузка данных
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";
}
}
}