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


using System;
using System.Windows.Forms;

namespace PhysicsSolver
{
    public partial class Form1 : Form
    {
        const double g = 10; // ускорение свободного падения, Н/кг

        public Form1()
        {
            InitializeComponent();

            comboBox1.Items.Add("Архимедова сила");
            comboBox1.Items.Add("Плотность жидкости");
            comboBox1.SelectedIndex = 0;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                double result = 0;

                if (comboBox1.SelectedItem.ToString() == "Архимедова сила")
                {
                    // Вводим ребро куба в сантиметрах
                    double aCm = Convert.ToDouble(textBox1.Text);

                    // Переводим см в метры
                    double aM = aCm / 100;

                    // Объём куба V = a^3
                    double volume = Math.Pow(aM, 3);

                    // Плотность воды = 1000 кг/м³
                    double density = 1000;

                    // F = ρ * g * V
                    result = density * g * volume;

                    labelResult.Text = $"Архимедова сила: {result} Н";
                }
                else if (comboBox1.SelectedItem.ToString() == "Плотность жидкости")
                {
                    // Давление в Па
                    double pressure = Convert.ToDouble(textBox1.Text);

                    // Высота столба жидкости в сантиметрах
                    double hCm = Convert.ToDouble(textBox2.Text);

                    // Переводим см в метры
                    double hM = hCm / 100;

                    // ρ = p / (g * h)
                    result = pressure / (g * hM);

                    labelResult.Text = $"Плотность жидкости: {result} кг/м³";
                }
            }
            catch
            {
                MessageBox.Show("Введи нормальные числа, а не заклинание древних физиков.");
            }
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedItem.ToString() == "Архимедова сила")
            {
                label1.Text = "Ребро куба, см:";
                label2.Visible = false;
                textBox2.Visible = false;
            }
            else
            {
                label1.Text = "Давление, Па:";
                label2.Text = "Высота, см:";
                label2.Visible = true;
                textBox2.Visible = true;
            }

            labelResult.Text = "";
        }
    }
}