そのため、金額を実際のさまざまな紙幣と硬貨の数に分割する方法についてのアイデアが必要です。これは紛らわしいので、例を挙げましょう。
$16.32 - Sixteen dollars and thirty-two cents
One $10 bill
One $5 bill
One $1 bill
One Quarter ($0.25)
One Nickel ($0.05)
Two Pennies ($0.01)
ご覧のとおり、値に入る紙幣と硬貨の数を取得しているだけで、ユーザーの入力に応じて変化します。
これが私の現在のセットアップです(Visual Basic):
If 100 Mod amount < 0 Then
If 50 Mod amount < 0 Then
' Continue this pattern until you get all the way down to the end ($0.01)
Else
While amount > 50
fiftiesAmount += 1
amount -= 50
End If
Else
While amount > 100
hundredsAmount += 1
amount -= 100
End If
基本的に、各If
ステートメントは、合計金額がそのタイプの追加の請求金額を必要とするかどうかを判断し、作成済みの請求書/硬貨の金額に追加するか、次の金額に進みます。
これは物事を行うための効率的な方法ですか、それとも私の人生をより簡単にする/より高速なアルゴリズム/パターンを見逃しているのでしょうか?私のコードの人生をより簡単に読んでいる人は誰ですか? さらに詳細が必要な場合は、必要に応じて質問を編集させていただきます。