І-й спосіб

Створення програм з використанням списків, таблиць та фіксаторів значень (залежних перемикачів).

Завдання: Створити програму з назвою “Currency Exchange” для проведення обмінних операцій між іноземними валютами та гривнями.

В програмі передбачити виконання наступних дій:

– вибір типу операції із валютою (купівля/продаж);

– вибір валюти та виведення поточного обмінного курсу для вибраної валюти;

– введення суми в іноземній валюті, яку купує чи продає клієнт, та виведення еквіваленту у гривнях.

Вибір валюти потрібно зробити 4-ма різними способами з використанням: 1) комбінованого списку ComboBox; 2) списку вибору ListBox; 3) групи залежних перемикачів (фіксаторів) RadioGroup; 4) таблиці рядків StringGrid. Для цього створіть 4 варіанти програми. Для збереження файлів кожного із варіантів заведіть окремі папки.

Мета:Навчитися використовувати компоненти ComboBox, ListBox, StringGrid, RadioButton та RadioGroup для розробки прикладних програм.

Хід роботи:

І-й спосіб

1. Створіть форму із наступними компонентами:

2. Вилучіть значення із поля Caption для компонент: Label3, Label7 та із поля Text для компонент: ComboBox1, Edit1 Edit2 та Edit3. Ці поля будуть заповнюватися в процесі виконання програми.

3. Заповніть поля Caption для Label1, Label2, Label4, Label5, Label6, RadioButton1 та RadioButton2 так, щоб форма мала наступний вигляд:

Для всіх полів виведення та редагування краще встановити шрифт розміром 10 пунктів.

4. Запрограмуємо подію OnClick для фіксаторів RadioButton1 та RadioButton2 так, щоб при їх вибрі у поле Caption компонент Label3 та Label7 записувалися значення ’купуєте’ або ’продаєте’ та ’до оплати’ або ’до видачі’ відповідно. Для цього виконуємо по черзі подвійне клацання на RadioButton1 та RadioButton2 і у редакторі коду оформляємо методи:

void __fastcall TForm1::RadioButton1Click(TObject *Sender)

{

Label3->Caption="купуєте";

Label7->Caption="до оплати";

 

}

//-------------------------------------------------------------------

 

void __fastcall TForm1::RadioButton2Click(TObject *Sender)

{

Label3->Caption="продаєте";

Label7->Caption="до видачі";

}

5. Виконайте прогонку програми. Виберіть по черзі обидва типи операції обміну. Результати вибору будуть наступні:

6. Використовуючи інспектор об’єктів, для властивості Items списку ComboBox1 зафіксуємо список валют, які підлягають обміну. Наприклад,

USD

Euro

RusRuble

7. Для того, щоб у полі Edit1 для вибраної валюти можна було відображати відповідний обмінний курс, у файлі Unit1.h опишемо масив:

const double Kv[4][2]={5.05,5.15,6.1,6.2,0.15,0.16};

рядки якого містять значення обмінного курсу (купівля, продаж) для кожної із валют, які занесені у ComboBox1. У полі Edit1 має автоматично відображатися відповідний обмінний курс після того, як у списку ComboBox1 буде вибрана валюта. Для цього потрібно описати метод опрацювання події OnChange для ComboBox1 таким чином:

void __fastcall TForm1::ComboBox1Change(TObject *Sender)

{

if (RadioButton1->Checked)

Edit1->Text=FloatToStr(Kv[ComboBox1->ItemIndex][0]);

else

Edit1->Text=FloatToStr(Kv[ComboBox1->ItemIndex][1]);

 

}

Властивість Checked фіксує стан перемикача типу RadioButton. Властивість ItemIndex для компонент-списків фіксує індекс вибраного елемента (індексація розпочинається з нуля). Якщо не вибраний жодний елемент списку, то значенням властивості є –1. Функція FloatToStr здійснює перетворення дійсних чисел в рядки символів.

Виконайте прогонку програми та проекспериментуйте із списком ComboBox1.

8. Тепер можна програмувати обчислення ’Суми до видачі’ чи ’до оплати’ (Edit3) залежно від введеної ’Суми в іноземній валюті’ (Edit2). Для цього запрограмуємо подію OnChange для Edit2:

void __fastcall TForm1::Edit2Change(TObject *Sender)

{

if (RadioButton1->Checked)

Edit3->Text=FloatToStr(StrToInt(Edit2->Text)*

Kv[ComboBox1->ItemIndex][0]);

else

Edit3->Text=FloatToStr(StrToInt(Edit2->Text)*

Kv[ComboBox1->ItemIndex][1]);

}

Виконайте програму із середовища C++ Builder. Завантажте відповідний exe-файл із середовища ОС Widows.