Вопрос задан 08.11.2026 в 19:20. Предмет Информатика. Спрашивает Леонов Даниил.

Книжный интернет-магазин:
Вывести название книг с ценой. Указать варианты доставки: курьерская (постоянная цена 800 руб.), наложенным платежом (зависит от количества книг и от общей стоимости) и оплата через банк (зависит от стоимости книг).
Написать приложение для выбора книг и подсчёта общей стоимости. VBA

Перейти к ответам

Ответы на вопрос

Отвечает Грекова Дарья.

Для наложенного платежа в условии не указаны точные тарифы. Поэтому программа запрашивает стоимость доставки за одну книгу и процент от общей цены: их можно ввести по действующему тарифу.

Программа VBA:
Sub BookStore()
Dim books(1 To 4) As String
Dim prices(1 To 4) As Currency
Dim choice As String, part As Variant
Dim n As Integer, count As Integer
Dim total As Currency, delivery As Currency
Dim method As String, result As String
Dim pricePerBook As Currency, percentOfTotal As Double

books(1) = "Капитанская дочка": prices(1) = 350
books(2) = "Недоросль": prices(2) = 280
books(3) = "Герой нашего времени": prices(3) = 420
books(4) = "Война и мир": prices(4) = 900

result = "1. " & books(1) & " — " & prices(1) & " руб." & vbCrLf
result = result & "2. " & books(2) & " — " & prices(2) & " руб." & vbCrLf
result = result & "3. " & books(3) & " — " & prices(3) & " руб." & vbCrLf
result = result & "4. " & books(4) & " — " & prices(4) & " руб."

choice = InputBox(result & vbCrLf & "Введите номера выбранных книг через запятую:")
For Each part In Split(choice, ",")
n = Val(Trim(part))
If n >= 1 And n <= 4 Then
total = total + prices(n)
count = count + 1
End If
Next part

method = InputBox("Способ доставки: 1 — курьер, 2 — наложенный платёж, 3 — через банк")
Select Case method
Case "1"
delivery = 800
Case "2"
pricePerBook = Val(InputBox("Тариф наложенного платежа за одну книгу, руб.:"))
percentOfTotal = Val(InputBox("Процент от общей стоимости книг:")) / 100
delivery = pricePerBook * count + total * percentOfTotal
Case "3"
percentOfTotal = Val(InputBox("Процент банковской доставки от стоимости книг:")) / 100
delivery = total * percentOfTotal
Case Else
MsgBox "Способ доставки выбран неверно."
Exit Sub
End Select

MsgBox "Количество книг: " & count & vbCrLf & "Стоимость книг: " & total & " руб." & vbCrLf & "Доставка: " & delivery & " руб." & vbCrLf & "К оплате: " & total + delivery & " руб."
End Sub

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос