Калькулятор расчета стоимости страховки - VB
Формулировка задачи:
Товарищи, помогите, пожалуйста, разобраться как сделать так чтоб можно было посчитать стоимость Зеленой карты.
Есть 3 поля, от которых зависит стоимость страховки:
И есть вот такая сетка тарифов (берем пока весь мир, такая же для СНГ). Т.е сумма страховки = пересечению нашего ТС и срока страхования.
Вопрос: как эту таблицу вогнать в VB? Чтобы при выборе параметров выскакивала сумма в поле "Стоимость полиса". Название столбцов "Срок страхования, месяцев" объединяем горизонтально по всей таблице. Надеюсь, понятно.
Внимание! Таких таблицы 2 - территория использования делится на "Весь мир" и "Украину, Беларусь, Молдову".
Тип транспортного средства | Срок страхования, месяцев | ||||||||||||
15 дней | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | |
Легковые автомобили | 1 550 | 2 950 | 5 480 | 7 730 | 9 550 | 10 390 | 11 240 | 11 800 | 12 360 | 12 920 | 13 340 | 13 620 | 14 050 |
Прицепы к легковым автомобилям | 460 | 880 | 1 640 | 2 310 | 2 860 | 3 110 | 3 360 | 3 530 | 3700 | 3 860 | 3 990 | 4 070 | 4 200 |
Грузовые автомобили, тягачи | 2 580 | 4 920 | 9 140 | 12 890 | 15 940 | 17 350 | 18 750 | 19 690 | 20 630 | 21 570 | 22 270 | 22 740 | 23 440 |
Прицепы и полуприцепы к грузовым автомобилям и тягачам | 520 | 990 | 1 830 | 2 580 | 3 190 | 3 480 | 3 760 | 3 950 | 4 130 | 4 320 | 4 460 | 4 560 | 4 700 |
Автобусы | 4 420 | 7 930 | 13 170 | 18 400 | 23 630 | 28 860 | 34 090 | 39 330 | 44 560 | 49 790 | 55 020 | 60 250 | 65 480 |
Мотоциклы, мотороллеры, мотоколяски и мопеды | 770 | 1 480 | 2 740 | 3 860 | 4 780 | 5 200 | 5 620 | 5 900 | 6 180 | 6 460 | 6 670 | 6 820 | 7 030 |
Сельскохозяйственная и строительная техника | 940 | 1 800 | 3 340 | 4 720 | 5 830 | 6 340 | 6 860 | 7 200 | 7 550 | 7 890 | 8 150 | 8 320 | 8 570 |
Решение задачи: «Калькулятор расчета стоимости страховки»
textual
Листинг программы
Public Class GreenCard Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Call Main() End Sub Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged Call Main() End Sub Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged Call Main() End Sub Sub Main() Dim month As Integer = Val(ComboBox3.Text) Dim r As Integer = 1 : If CInt(ComboBox2.SelectedIndex) >= 0 Then r = CInt(ComboBox2.SelectedIndex) + 1 Select Case ComboBox1.Text Case "Весь мир" TextBox1.Text = CStr(TabAllWorld(r, month)) Case "СНГ" TextBox1.Text = CStr(TabSNG(r, month)) End Select End Sub Private Function TabAllWorld(ByVal rowTab As Integer, ByVal month As Integer) As Long If month > 12 Then month = 0 Dim T1() As Long = {1550, 2950, 5480, 7730, 9550, 10390, 11240, 11800, 12360, 12920, 13340, 13620, 14050} Dim T2() As Long = {460, 880, 1640, 2310, 2860, 3110, 3360, 3530, 3700, 3860, 3990, 4070, 4200} Dim T3() As Long = {2580, 4920, 9140, 12890, 15940, 17350, 18750, 19690, 20630, 21570, 22270, 22740, 23440} Dim T4() As Long = {520, 990, 1830, 2580, 3190, 3480, 3760, 3950, 4130, 4320, 4460, 4560, 4700} Dim T5() As Long = {4420, 7930, 13170, 18400, 23630, 28860, 34090, 39330, 44560, 49790, 55020, 60250, 65480} Dim T6() As Long = {770, 1480, 2740, 3860, 4780, 5200, 5620, 5900, 6180, 6460, 6670, 6820, 7030} Dim T7() As Long = {940, 1800, 3340, 4720, 5830, 6340, 6860, 7200, 7550, 7890, 8150, 8320, 8570} Select Case rowTab Case 1 : Return T1(month) Case 2 : Return T2(month) Case 3 : Return T3(month) Case 4 : Return T4(month) Case 5 : Return T5(month) Case 6 : Return T6(month) Case 7 : Return T7(month) End Select End Function Private Function TabSNG(ByVal rowTab As Integer, ByVal month As Integer) As String 'Функция для СНГ не написана If month > 12 Then month = 0 Return "Нет данных." End Function End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д