007 – Приклад розробки програми визначення об’єму циліндра в C++ Builder

Приклад розробки програми визначення об’єму циліндра

Умова задачі

Дано радіус R та висоту циліндра H. Скласти програму, яка визначає об’єм циліндра. Програму реалізувати як “VCL Forms Application“.

Формула об’єму циліндра:

05_01_00_007_formula

де R – радіус кола циліндра; H – висота основи циліндра.

 

Хід виконання

1. Завантажити Borland C++ Builder.
Зберегти проект.

2. Створення форми.

Винести на форму такі компоненти:
– три компоненти типу TLabel (для виведення тексту “R = “, “H = “, “V = “);
– два компоненти типу TEdit (поле вводу) для вводу значень радіуса та висоти;
– один компонент типу TButton для початку процесу розрахунку.

Компоненти типу TLabel, TButton і TEdit розміщуються на формі у вкладці Standard палітри компонент Tool Palette (рис. 1).

05_01_00_007_01_Рис. 1. Компонент TLabel, TButton і TEdit на палітрі інструментів

2.1. Компонент TLabel.

Після винесення компонента на форму автоматично створюється об’єкт-змінна з іменем Label1. За бажанням, це ім’я можна змінити у властивості Name в Object Inspector (рис. 2). Те саме відноситься і до інших компонент (TButton, TEdit і т.д.).

Задаємо назву тексту повідомлення в Label1 шляхом зміни властивості Caption на значення “R = ” (рис. 2).

05_01_00_007_02_Рис. 2. Встановлення тексту “R = ” в компоненті Label1

Після виконаних дій форма додатку прийме вигляд як показано на рисунку 3.

05_01_00_007_03_Рис. 3. Форма додатку в режимі проектування

Так само розміщуємо на формі компонент типу TLabel з іменем Label2. У властивість Caption заносимо текст “H = “. Форма додатку має вигляд як показано на рисунку 4.

05_01_00_007_04_Рис. 4. Форма додатку після винесення компонент Label1 і Label2

2.2. Компонент TEdit.

Розміщуємо на формі два компоненти типу TEdit. Автоматично створюються два об’єкти-змінні з іменами Edit1 та Edit2.

Змінюємо властивість Text компонентів Edit1 та Edit2 таким чином, щоб текст був відсутній.

У результаті виконаних дій форма додатку має наступний вигляд (рис. 5).

05_01_00_007_05_Рис. 5. Форма додатку з винесеними компонентами Edit1 та Edit2

2.3. Компонент TButton.

Розміщуємо на формі компонент типу TButton. Створюється об’єкт-змінна з іменем Button1.

У властивість Caption компонента Button1 заносимо текст “Calculation” (рис. 6).

05_01_00_007_06_Рис. 6. Зміна властивості Caption компонента Button1

2.4. Виведення результату.

Результат буде виводитись в компоненті типу TLabel. У властивість Caption заносимо значення “V = “.

Перед внесенням програмного коду форма додатку матиме вигляд як показано на рис. 7.

05_01_00_007_07_Рис. 7. Форма додатку після виконаних операцій

2.5. Зміна назви форми.

Виділяємо форму (активізуємо Form1 в Object Inspector).

Змінюємо текст назви форми з допомогою властивості Caption (рис. 8).

05_01_00_007_08_Рис. 8. Зміна назви форми у властивості Caption

3. Програмування події кліку на кнопці “Calculation“.

Наступним кроком є програмування фрагменту коду, що буде викликатись після того як користувач натисне на кнопці Calculation.

Приклад програмування події кліку на кнопці можна переглянути тут.



Для виклику фрагменту коду обробки події послідовність кроків наступна:

  • виділити компонент Button1;
  • в палітрі інструментів “Tool Palette” перейти у вкладку “Events“;
  • зробити подвійний клік навпроти назви події “OnClick“.

У результаті C++ Builder згенерує наступний код:

void __fastcall TForm1::Button1Click(TObject *Sender)
{

}

Між фігурними дужками вносимо текст розрахунку об’єму циліндра. Загалом обробник події матиме наступний вигляд:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    double r, h, v;
    const double pi = 3.1415;
    r = StrToFloat(Edit1->Text); // читання значення R
    h = StrToFloat(Edit2->Text); // читання значення H
    v = pi*r*r*h;
    Label3->Caption = "V = " + FloatToStrF(v,ffFixed,8,2);
}

Пояснимо деякі фрагменти коду.

Отримання вхідних значень r та h береться з рядків вводу Edit1->Text та Edit2->Text. Оскільки, змінні r та h є типу double, а властивості Edit1->Text та Edit2->Text є рядкового типу, то для коректного присвоєння використовується функція перетворення StrToFloat.

Зворотне перетворення з числового в рядковий тип здійснює функція FloatToStrF. Ця функція отримує вхідне значення (змінна v) і перетворює його в рядковий тип відповідно до заданого формату. У нашому випадку задано фіксований формат – ffFixed. Також задаються точність (2 знаки після коми) і ширина виведення (8 знаків).

4. Запуск додатку на виконання.

Запуск додатку на виконання здійснюється клавішою F9 або вибором команди Run з меню Run. Результат роботи додатку показаний на рисунку 9.

05_01_00_007_09_

Рис. 9. Виконання додатку

Схожі теми:

Delphi – Програма розрахунку площі круга та об’єму кулі.

C# – Приклад створення Web-додатку в MS Visual Studio.