Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОБЩИЙ_файл_ПОСОБИЕ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
22.69 Mб
Скачать

Код проекту.

Для реалізації завдання в коді проекту необхідно передбачити обробку таких процедур:

1) обчислення суми до сплати за товари, що придбаються;

2) розрахунок решти й вивід результату;

3) підготовка робочого місця до роботи.

Тексти відповідних процедур представлені нижче.

Обчислення суми до сплати за куплені товари

На рис. 5.31 подано програмний код процедури розрахунку суми до сплати за товар, який куплено, при настанні події – клацання по кнопці "Розрахунок" (CmdРозрахунок) на формі.

Option Explicit

'Оголошення глобальних змінних

Public CurZina As Currency, CurVartist As Currency, _

CurGotivka As Currency, CurReshta As Currency

Private Sub CmdРозрахунок_Click()

'Оголошення локальних змінних

Dim IntKilkist As Integer, IntI As Integer

Dim StrPovidoml As String, StrVid As String, StrText As String

CurVartist = 0 'Підготовка до накопичування вартості

IntI = 1

Do While MsgBox("Будемо ще купувати? ", vbQuestion + vbYesNoCancel, _

"Супермаркет КЛАС") = vbYes 'Початок тіла циклу

1: StrText = InputBox("Уведіть кількість " & _

Format(Int, "# ##0") & "-го товару", "Супермаркет КЛАС")

If StrText = "" Then

MsgBox "Нічого не введено! Повторіть спробу!"

GoTo 1

Else:

IntKilkist = CInt(StrText)

End If

2: StrText = InputBox("Уведіть ціну " & Format(Int, "# ##0 ") & _

"-го товару", "Супермаркет КЛАС")

If StrText = "" Then

MsgBox "Помилка при уведенні! Повторите спробу!"

GoTo 2

Else:

CurZina = CCur(StrText)

End If

'Розрахунок вартості товару

CurVartist = CurVartist + CurZina * IntKilkist

IntI = IntI + 1

Loop

'Завершення циклу при натисканні клавіші "Нет" або "Отмена"

TxtОплата.Text = Format(CurVartist, "# ##0.00")

' Потрібно забезпечити узгодження в реченнях

Select Case Int

Case 1: StrVid = " вид товару"

Case 2, 3, 4: StrVid = " види товару"

Case Else: StrVid = " видів товару"

End Select

'Вивід результатів

StrPovidoml = "Ви придбали " & IntI & " " & StrVid & _

" на загальну суму " & _

Format(CurVartist, "# ##0.00") & " гривень"

LblРезультат.Caption = StrPovidoml

End Sub

Рис. 5.31. Процедура розрахунку суми до cплати

У результаті виконання процедури на формі (у текстовому полі TxtОплата) відобразиться сума до сплати за товар, який куплено.

Розрахунок здачі й вивід результату

На рис. 5.32 представлено програмний код процедури розрахунку решти й виводу результату у вигляді повідомлення при настанні події – зняття фокуса з текстового поля TxtГотівка (для VB – LostFocus, а для VBA – Exit).

Private Sub TxtГотівка_Exit(ByVal Cancel As _ MSForms.ReturnBoolean)

'Розрахунок решти

CurGotivka = CCur(TxtГотівка.Text)

CurReshta = CurGotivka - CurVartist

TxtРешта.Text = Format(CurReshta, "# ##0.00")

End Sub

Рис. 5.32. Процедура розрахунку решти й виводу результату

У результаті виконання процедури на формі (у текстовому полі TxtРешта) відобразиться решта.

Підготовка робочого місця до обслуговування наступного покупця

На рис. 5.33 подано програмний код процедури підготовки касового апарату до роботи при настанні події – клацання по кнопці "Очистити" (CmdОчистити) на формі.

'Підготовка робочого місця до роботи з таким покупцем

Private Sub CmdОчистити_Click()

LblРезультат.Caption = Empty

TxtГотівка.Text = Empty

TxtОплата.Text = Empty

TxtРешта.Text = Empty

End Sub

Рис. 5.33. Процедура підготовки робочого місця до роботи