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




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

В данной работе приведен пример программы, в которой для решения задачи используется оператор switch и элемент управления ComboBox.

 

Условие задачи

Разработать программу-справочник, которая по введенному значению радиуса 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

Для настройки вида отображения спадающего списка, в элементе управления comboBox есть свойство DropDownStyle (рисунок 6).

Это свойство может принимать одно из трех значений:

  • Simple. В этом случае отсутствует кнопка выбора элементов (вариантов) списка;
  • DropDown. В этом случае можно выбирать элементы с списка а также вводить собственные элементы в список;
  • DropDownList. В этом случае можно только читать элементы из спадающего списка.

Со значениями Simple и DropDown связано свойство Text, устанавливающее начальный текст, который отображается в comboBox1.

В нашем случае нужно установить свойство DropDownStyle в значение DropDownList.

Рисунок 6. Свойство DropDownStyle

Также, на вид окна спадающего списка влияет свойство FlatStyle.

 

5. Программирование события активизации формы Load

После запуска программы на выполнение одним из первых генерируется событие 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";
}

В вышеприведенном коде, в списке comboBox1, устанавливается активным элемент с номером 0. Это осуществляется с помощью свойства SelectedIndex. Нумерация в списке comboBox1 начинается с нуля.






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

...

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

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

...

В вышеприведенном листинге использованы два метода:

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

 

6. Программирование события клика на кнопке «Вычислить«

Пример программирования события Click подробно описывается здесь.

Обработчик события клика на кнопке «Вычислить» имеет вид:

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. Запуск программы на выполнение

Теперь можно запускать приложение на выполнение.