Книжный интернет-магазин:
Вывести название книг с ценой. Указать варианты доставки: курьерская (постоянная цена 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
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

