І-й спосіб
Створення програм з використанням списків, таблиць та фіксаторів значень (залежних перемикачів).
Завдання: Створити програму з назвою “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.