Покупатель должен заплатить в кассу S р. У него имеются 1, 2, 5, 10, 50, 100, 500 р. Сколько купюр разного достоинства отдаст покупатель, если он начинает платить с самых крупных? На VBA , без массивов
Для решения этой задачи можно воспользоваться циклом, в котором будем вычитать из суммы S максимально возможное значение каждой купюры.
Ниже приведен пример кода на VBA, решающий эту задачу:
Sub ReturnChange() Dim S As Integer S = InputBox("Введите сумму, которую нужно заплатить:") Dim banknotes() As Integer banknotes = Array(1, 2, 5, 10, 50, 100, 500) Dim i As Integer For i = UBound(banknotes) To LBound(banknotes) Step -1 While S >= banknotes(i) S = S - banknotes(i) MsgBox "Отдайте купюру номиналом: " & banknotes(i) & " р." Wend Next i MsgBox "Сдача: " & S & " р." End Sub
После ввода суммы пользователь будет последовательно уведомлен о купюрах разного достоинства, которые он должен отдать, начиная с самых крупных. В конце будет показана оставшаяся сумма сдачи.
Для решения этой задачи можно воспользоваться циклом, в котором будем вычитать из суммы S максимально возможное значение каждой купюры.
Ниже приведен пример кода на VBA, решающий эту задачу:
Sub ReturnChange()Dim S As Integer
S = InputBox("Введите сумму, которую нужно заплатить:")
Dim banknotes() As Integer
banknotes = Array(1, 2, 5, 10, 50, 100, 500)
Dim i As Integer
For i = UBound(banknotes) To LBound(banknotes) Step -1
While S >= banknotes(i)
S = S - banknotes(i)
MsgBox "Отдайте купюру номиналом: " & banknotes(i) & " р."
Wend
Next i
MsgBox "Сдача: " & S & " р."
End Sub
После ввода суммы пользователь будет последовательно уведомлен о купюрах разного достоинства, которые он должен отдать, начиная с самых крупных. В конце будет показана оставшаяся сумма сдачи.