Кафе

Програма Кафе, її форма приведена на рисунку, демонструє використання компонента CheckBox.

Код написання програми

Float sum; // сума замовлення
// конструктор форми
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
// зробити недоступним перемикач “сосус”
CheckBox2->Enabled = false;
}
// клацання на перемикач “Біг-Мак”
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
if (CheckBox1->Checked)
{
/* перемикач був скинутий, користувач встановив його */
summ += 54;
// зробити доступним перемикач “соус”
CheckBox2->Enabled = true;
}
else
{
/* перемикач був встановлений, користувач скинув його */
summ -= 54;
// скинути і зробити недоступним перемикач “соус”
if (CheckBox2->Checked)
CheckBox2->Checked = false;
CheckBox2->Enabled = false;
}
// відобразити змінену суму в полі
Label2->Caption = FloatToStrF(summ, ffGeneral, 6,2);
}
// клацання на перемикач “соус”
void __fastcall TForm1::CheckBox2Click(TObject *Sender)
{
if (CheckBox2->Checked)
summ += 10.5;
else
summ -= 10.5;
Label2->Caption = FloatToStrF(summ, ffGeneral, 6, 2);
}
// клацання на перемикач “картопля”
void __fastcall TForm1::CheckBox3Click(TObject *Sender)
{
if (CheckBox3->Checked)
summ += 18.5;
else
summ -= 18.5;
Label2->Caption = FloatToStrF(summ, ffGeneral, 6, 2);
}
// клацання на перемикач “Кока-Кола”
void __fastcall TForm1::CheckBox4Click(TObject *Sender)
{
if (CheckBox4->Checked)
summ += 14;
else
summ -= 14;
Label2->Caption = FloatToStrF(summ, ffGeneral, 6, 2);
}
// клацання на кнопку ОК
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (CheckBox1->Checked && CheckBox2->Checked && CheckBox3->Checked && CheckBox4->Checked)
{
/* користувач замовив повний набір. Надати знижку 5% */
summ = summ * 0.95;
ShowMessage("Вам надана знижка 5%.\n"
"Сума замовлення: "+FloatToStrF(summ, ffGeneral, 6, 2) + " грн.");
}
else
if (CheckBox1->Checked || CheckBox3->Checked || CheckBox4->Checked)
ShowMessage ("Сума замовлення: " + FloatToStrF(summ, ffGeneral, 6, 2) + " грн.");
else
ShowMessage("Ви нічого не замовили");
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *