Розробка програми, в якій для розв’язку задачі використовується оператор switch. Компонент ComboBox

Розробка програми, в якій для розв’язку задачі використовується оператор switch. Компонент ComboBox

У даній роботі наведено приклад програми, що для розв’язку задачі використовує оператор switch та елемент управління ComboBox. Також продемонстровано програмування події Load головної форми програми.

 

Умова задачі

Розробити програму-довідник, яка за введеними значенням радіуса R та номером задачі пропонуватиме користувачу послуги в обчисленні:

  • 1 – довжини кола;
  • 2 – площі круга;
  • 3 – об’єму кулі.

Довжина кола обчислюється за формулою:

D = 2 · π · R

Площа круга обчислюється за формулою:

S = π · R²

Об’єм кулі обчислюється за формулою:

V = 4/3 · π · R³

Для вибору варіанту розв’язку використати елемент управління ComboBox. Для обчислення використати інструкцію switch.

Виконання

1. Створення проекту

Завантажити Microsoft Visual Studio. Створити проект за шаблоном “Visual C++ – Windows Forms Application“. Автоматично створюється головна форма додатку, що має ім’я Form1.

Приклад створення проекту за шаблоном Windows Forms Application наведено тут.

2. Побудова головної форми додатку

Створити головну форму додатку як показано на рисунку 1

Рисунок 1. Головна форма додатку

На головній формі з панелі Toolbox розміщуються такі елементи управління:

  • елемент управління з іменем label1 типу Label для відображення повідомлення “R = “;
  • елемент управління з іменем button1 типу Button для проведення обчислення;
  • елемент управління з іменем textBox1 типу TextBox для введення значення радіуса R;
  • елемент управління з іменем comboBox1 типу ComboBox для вибору варіанту обчислення (рисунок 2);
  • елемент управління з іменем label2 типу Label для виведення результату.

Більш детальний приклад створення форми наведено тут.

Рисунок 2. Розміщення елементу управління ComboBox

3. Налаштування властивостей елементів управління Label, Button

Налаштувати такі властивості елементів управління (рисунок 3):
– в елементі управління label1 властивість Text = “R =“;
– в label2 властивість Text = “Результат = “;
– в button1 властивість Text = “Обчислити“;
– в головній формі Form1 властивість Text = “Оператор switch“.

 

Рисунок 3. Форма після налаштування властивостей label1, label2, button1

 

4. Налаштування властивостей ComboBox

В елементі управління comboBox1 потрібно відобразити три рядки:

  • 1 – довжина кола;
  • 2 – площа круга;
  • 3 – об’єм кулі.

Для цього використовується властивість Items (рисунок 4).

Рисунок 4. Властивість Items елемента управління comboBox1

Після вибору у властивості Items значка “…” відкриється вікно редактора рядків елементу управління comboBox1. У вікні редактора потрібно набрати (рисунок 5):

  • 1 – Довжина кола
  • 2 – Площа круга
  • 3 – Об’єм кулі

Кожен рядок є одним варіантом вибору в comboBox1.

Рисунок 5. Ввід рядків comboBox1

Для налаштування виду відображення спадного списку, в елементі управління comboBox1 є властивість DropDownStyle (рисунок 6).

Ця властивість може приймати одне з трьох значень:

  • Simple. У цьому випадку відсутня кнопка вибору елементів (варіантів) списку;
  • DropDown. У цьому випадку можна вибирати елементи зі списку а також вводити власні елементи в список;
  • DropDownList. У цьому випадку можна тільки читати елементи зі спадного списку.

Зі значеннями Simple та DropDown зв’язана властивість Text, яка встановлює початковий текст, що відображається в comboBox.

У нашому випадку потрібно встановити властивість DropDownStyle в значення DropDownList.

Рисунок 6. Властивість DropDownStyle

Також, на вигляд вікна спадного списку впливає властивість FlatStyle.

 

5. Програмування події активізації форми Load

Приклад програмування події в Visual C++ детально описується тут.

Після запуску програми на виконання однією з перших генерується подія Load. Обробник події Load використовують для задавання початкових значень елементам управління та внутрішнім змінним програми.

В обробник події Load активізації форми доцільно помістити програмний код ініціалізації елементу управління comboBox1.

Щоб викликати обробник події Load головної форми Form1 потрібно виконати таку послідовність дій (рисунок 7):

  • перейти в режим проектування форми “Form1.h [Design]“;
  • виділити (активувати) форму Form1;
  • у вікні Properties виділити вкладку Events;
  • зробити подвійний клік напроти поля події Load.

Рисунок 7. Програмування обробника події Load

Лістинг обробника події наступний.

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)
{
    comboBox1->SelectedIndex = 0;
    textBox1->Text = "0";
}

У вищенаведеному коді встановлюється активним елемент з номером 0 в списку comboBox1. Це здійснюється з допомогою властивості SelectedIndex. Нумерація в списку comboBox здійснюється з нуля.



У лістингу нижче наведено приклад формування списку comboBox1 програмним шляхом. Такий код доцільно помістити в обробник події Load головної форми програми.

 

...

// очистити список елементів comboBox1
 comboBox1->Items->Clear();

// сформувати список елементів comboBox1
comboBox1->Items->Add("1 - Довжина кола");
comboBox1->Items->Add("2 - Площа круга");
comboBox1->Items->Add("3 - Об'єм кулі");

...

У вищенаведеному лістингу використано два методи:

  • метод Clear(), який очищає список comboBox1;
  • метод Add(), який додає в comboBox1 рядок (елемент вибору).

 

6. Програмування події кліку на кнопці “Обчислити

Обробник події кліку на кнопці “Обчислити” має вигляд:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
    const float pi = 3.1415f;
    float r, d, s, v;

    r = r.Parse(this->textBox1->Text);

    switch (comboBox1->SelectedIndex)
    {
        case 0:
            d = 2*pi*r;
            label2->Text = "Довжина кола = " + d.ToString();
        break;
        case 1:
            s = pi*r*r;
            label2->Text = "Площа круга = " + s.ToString();
        break;
        case 2:
            v = 4.0/3.0*pi*r*r*r;
            label2->Text = "Об'єм кулі = " + v.ToString();
        break;
    }
}

Для організації вибору з трьох варіантів використовується інструкція switch. Селектором служить властивість

comboBox1->SelectedIndex

 

7. Запуск програми на виконання

Тепер можна запускати додаток на виконання та тестувати його роботу.