Програма дозволяє розрахувати страхової премії, що підлягає сплаті за договором обов’язкового страхування цивільно-правової відповідальності.

Код написання програми
AnsiString reg[8] =
{
"Київська обл.",
"Дніпропетровська обл.",
"Харківська обл.",
"Миколаївська обл.",
"Чернігівська обл.",
"Одеська обл.",
"Вінницька обл.",
"Донецька обл.",
};
float Kt [8] = {1.8, 1.6, 1.8, 1.3, 1, 1, 1, 1};
int Cb[6][5] =
{
{1,-1,-1,-1,-1},
{2,-1,-1,-1,-1},
{3,1,-1,-1,-1},
{4,1,-1,-1,-1},
{5,2,1,-1,-1},
{6,3,1,-1,-1}
};
float Kb[7] = {2.3, 1.55, 1.4, 1, 0.95, 0.9};
void Change (void) // Функція, що
{ // використвоується
If // для перевірки
( // наявності
(Form1->ComboBox1->ItemIndex != -1) && // даних у
(Form1->ComboBox2->ItemIndex != -1) && // полях та
(Form1->ComboBox3->ItemIndex != -1) && // випадаючих списках
(Form1->ComboBox4->ItemIndex != -1) && //
(Form1->Edit1->Text != "") &&
(Form1->Edit2->Text != "") && // Якщо поля заповнені
(Form1->Edit3->Text != "") // кнопка активна
)
Form1->BitBtn1->Enabled = true;
else // Якщо поля не заповнені
Form1->BitBtn1->Enabled = false; // кнопка неактивна
}
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
int i, n;
n = sizeof (Kt) / sizeof (float);
for (i=0; in; i++)
ComboBox1->Items->Add(reg[i]); // Додавання
ComboBox2->Items->Add("18-23 роки, стаж до 5 років"); // рядків
ComboBox2->Items->Add("23 роки і більше, стаж до 5 років"); // до
ComboBox2->Items->Add("23-40 років, стаж більше 5 років"); // випадаючих
ComboBox2->Items->Add("більше 40 років, стаж більше 5 років"); // списків
ComboBox3->Items->Add("до 50"); // Додавання
ComboBox3->Items->Add("50-90"); // рядків
ComboBox3->Items->Add("90-150"); // до
ComboBox3->Items->Add("150-250"); // випадаючого
ComboBox3->Items->Add("більше 250"); // списку
ComboBox4->Items->Add("Менше року"); // Додавання
ComboBox4->Items->Add("Від 1 до 3 роки"); // рядків до
ComboBox4->Items->Add("Більше 3-7 років"); // випадаючих
ComboBox4->Items->Add("Більше 7 років"); // списків
}
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
float aTb, aKt, aKb, aKvs, aKo, aKm, aKs, T; // Оголошення
int pcb, ccb, nss; // змінних
AnsiString st;
aTb = StrToFloat (Edit1->Text) ; // Присвоєння
aKt = Kt[ComboBox1->ItemIndex]; // змінним
pcb = StrToInt(Edit2->Text); // цілого та
nss = StrToInt(Edit3->Text); // дійсного типу
ccb = Cb[pcb][nss]; // даних
if ( ccb != -1) // з випадаючих
aKb = Kb[ccb]; // списків
else aKb = 2.45; // та
aKb = Kb[ccb]; // полів
switch (ComboBox2->ItemIndex)
{
case 0: aKvs = 1.3; break; // Присвоєння значення
case 1: aKvs = 1.2; break; // згідно до
case 2: aKvs = 1.15; break; // вибраного поля
case 3: aKvs = 1.0; break; // випадаючого списка
}
if (CheckBox1->Checked)
aKo = 1;
else
aKo = StrToFloat(InputBox("","Введіть к-сть осіб, що можуть керувати ТЗ",""));
switch (ComboBox3->ItemIndex)
{
case 0 : aKm = 0.7; break; // Присвоєння значення
case 1 : aKm = 0.9; break; // згідно до
case 2 : aKm = 1.1; break; // вибраного поля з
case 3 : aKm = 1.4; break; // випадаючого списка
case 4 : aKm = 1.8; break;
}
switch (ComboBox4->ItemIndex)
{
case 0 : aKs = 0.7; break; // Присвоєння значення
case 1 : aKs = 0.8; break; // згідно до
case 2 : aKs = 0.9; break; // вибраного поля з
case 3 : aKs = 0.95; break; // випадаючого списка
}
if (aKb == 0) aKb = 1;
T = aTb * aKt * aKb * aKvs * aKo * aKm *aKs; // Розрахунок результату
st = "Базова ставка тарифа: " + FloatToStrF(aTb,ffCurrency,5,2)+ // Присвоєння
"\nКоеф. тарифа: " + FloatToStrF(aKt,ffGeneral,2,2)+ // змінній
"\nКоеф. безаварійності: " + FloatToStrF(aKb,ffGeneral,2,2)+ // даних
"\nКоеф. водійського стажа: " + FloatToStrF(aKvs,ffGeneral,2,2)+ // для
"\nК-сть особ, що можуть керувати ТЗ: " + FloatToStrF(aKo,ffGeneral,2,2)+ // виведення
"\nКоеф. потужності двигуна: " + FloatToStrF(aKm,ffGeneral,2,2)+ // результату
"\nКоеф. час використання ТЗ: " + FloatToStrF(aKs,ffGeneral,2,2)+
"\n\nТариф: " + FloatToStrF(T,ffCurrency,5,2);
Application->Title=("Висновок"); // Зміна назви вікна результату
ShowMessage(st) ; // Вікно результату
}
void __fastcall TForm1::Edit1Change(TObject *Sender) // Функція
{ // “Change”
Change(); // прописана
} // вгорі
// і
void __fastcall TForm1::ComboBox1Change(TObject *Sender) // виконує
{ // таку
Change(); // функцію:
} // поки не
// будуть
void __fastcall TForm1::Edit2Change(TObject *Sender) // заповнені
{ // усі
Change(); // поля
} // кнопка
// буде
void __fastcall TForm1::Edit3Change(TObject *Sender) // неактивною
{
Change();
} // Функція
// “Change”
void __fastcall TForm1::ComboBox2Change(TObject *Sender) // прописана
{ // вгорі
Change(); // і
} // виконує
// таку
void __fastcall TForm1::ComboBox3Change(TObject *Sender) // функцію:
{ // поки не
Change(); // будуть
} // заповнені
// усі
void __fastcall TForm1::ComboBox4Change(TObject *Sender) // поля
{ // кнопка
Change(); // буде
} // неактивною
програмування