prompter: Сделай калькулятор на c#

assistant: Вот возможный код калькулятора на C#, который может выполнять базовые операции (сложение, вычитание, деление и умножение):

```
using System;

namespace Calculator
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Calculator");
            Console.WriteLine("Enter first number: ");
            double num1 = double.Parse(Console.ReadLine());
            Console.WriteLine("Enter second number: ");
            double num2 = double.Parse(Console.ReadLine());
            Console.WriteLine("Enter operation (+, -, *, /): ");
            char operation = char.Parse(Console.ReadLine());
            double result;

            switch (operation)
            {
                case '+':
                    result = num1 + num2;
                    Console.WriteLine("Result: " + result);
                    break;
                case '-':
                    result = num1 - num2;
                    Console.WriteLine("Result: " + result);
                    break;
                case '*':
                    result = num1 * num2;
                    Console.WriteLine("Result: " + result);
                    break;
                case '/':
                    if (num2 != 0)
                    {
                        result = num1 / num2;
                        Console.WriteLine("Result: " + result);
                    }
                    else
                    {
                        Console.WriteLine("Cannot divide by zero.");
                    }
                    break;
                default:
                    Console.WriteLine("Invalid operation.");
                    break;
            }
        }
    }
}
```

prompter: А если я хочу чтобы калькулятор был не в консоли, а с визуалом?

assistant: Для создания калькулятора с графическим интерфейсом в C# можно использовать Windows Forms. 
Пример:

using System;
using System.Windows.Forms;

namespace Calculator
{
    public partial class Form1 : Form
    {
        double num1, num2, result;
        char operation;

        public Form1()
        {
            InitializeComponent();
        }

        private void btnOne_Click(object sender, EventArgs e)
        {
            txtDisplay.Text = txtDisplay.Text + btnOne.Text;
        }

        private void btnTwo_Click(object sender, EventArgs e)
        {
            txtDisplay.Text = txtDisplay.Text + btnTwo.Text;
        }

        // Аналогичные методы для остальных цифр

        private void btnPlus_Click(object sender, EventArgs e)
        {
            num1 = double.Parse(txtDisplay.Text);
            txtDisplay.Text = "";
            operation = '+';
        }

        private void btnMinus_Click(object sender, EventArgs e)
        {
            num1 = double.Parse(txtDisplay.Text);
            txtDisplay.Text = "";
            operation = '-';
        }

        private void btnMultiply_Click(object sender, EventArgs e)
        {
            num1 = double.Parse(txtDisplay.Text);
            txtDisplay.Text = "";
            operation = '*';
        }

        private void btnDivide_Click(object sender, EventArgs e)
        {
            num1 = double.Parse(txtDisplay.Text);
            txtDisplay.Text = "";
            operation = '/';
        }

        private void btnEqual_Click(object sender, EventArgs e)
        {
            num2 = double.Parse(txtDisplay.Text);
            switch (operation)
            {
                case '+':
                    result = num1 + num2;
                    txtDisplay.Text = result.ToString();
                    break;
                case '-':
                    result = num1 - num2;
                    txtDisplay.Text = result.ToString();
                    break;
                case '*':
                    result = num1 * num2;
                    txtDisplay.Text = result.ToString();
                    break;
                case '/':
                    result = num1 / num2;
                    txtDisplay.Text = result.ToString();
                    break;
            }
        }
    private void btnClear_Click(object sender, EventArgs e)
    {
        txtDisplay.Text = "";
    }
}


Для создания графического интерфейса можно использовать встроенный дизайнер Windows Forms, который входит в состав среды разработки Visual Studio.

В данном примере мы создаем кнопки для цифр и операций, а также текстовое поле для отображения результатов. Каждый раз, когда пользователь нажимает кнопку цифры, цифра добавляется к тексту в текстовом поле. Когда пользователь нажимает кнопку операции, текущее значение в текстовом поле преобразуется в число и сохраняется в переменную `num1`. После этого текстовое поле очищается, готовясь к вводу второго числа. Когда пользователь нажимает кнопку `=`, второе число преобразуется в число и сохраняется в переменную `num2`. Далее происходит выполнение операции, выбранной пользователем, и результат сохраняется в переменную result. Затем результат преобразуется в строку и выводится в текстовое поле.

Вы можете добавить дополнительные функции и возможности, такие как обработку исключений для недопустимых входных данных или добавление дополнительных математических операций.

Надеюсь, этот пример поможет вам понять, как создать калькулятор с графическим интерфейсом на C#.

prompter: Довольно информативно и понятно. Спасибо за помощь

assistant: Всегда пожалуйста.
Если есть ещё вопросы, обращайтесь.
Я здесь всегда к вашим услугам.

assistant: Обращайтесь!

assistant: Тогда вам понадобится или использовать готовый движок как Unity (там много сделано заранее, также скрипты там пишутся на С#), или найти и использовать графическую библеотеку, но там понадобится скорее всего очень много кода. В С# часто используется библеотека System.Drawing.

assistant: Создание калькулятора на C# — относительно простая задача. Существует два способа создания такого приложения — например, с использованием CLI (интерфейса командной строки) или GUI (графического пользовательского интерфейса).

Разберём вариант создания калькулятора на C# с использованием GUI Windows Forms.

Во-первых, вам нужно создать приложение Windows Forms в Visual Studio. Как только приложение будет настроено, вам нужно будет создать два текстовых поля (TextBox), кнопку (Button) и текстовую метку (Label).

Затем вы можете два раза нажать на созданную кнопку, чтобы добавить обработчик событий — и использовать следующий код, чтобы добавить функциональность в калькулятор:

```csharp
private void button1_Click(object sender, EventArgs e) 
{ 
    double num1 = Convert.ToDouble(textBox1.Text); 
    double num2 = Convert.ToDouble(textBox2.Text); 
    double result = 0; 
 
    if (radioButton1.Checked) 
    { 
        result = num1 + num2; 
    } 
    else if (radioButton2.Checked) 
    { 
        result = num1 - num2; 
    } 
    else if (radioButton3.Checked) 
    { 
        result = num1 * num2; 
    } 
    else if (radioButton4.Checked) 
    { 
        result = num1 / num2; 
    } 
 
    label1.Text = result.ToString(); 
}
```

Этот код возьмет два числа из текстовых полей, выполнит выбранную операцию и отобразит результат в текстовой метке.

С помощью этого кода, вы получите работающее приложение калькулятора на C#.

prompter: Добавь к функционалу этой программы проценты и степени