Menu
Coddy logo textTech

支出の追加

CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 81/88。

challenge icon

チャレンジ

簡単

前のレッスンの支出トラッカーを基に、「支出の追加」機能を追加しましょう。

プログラムは以下の動作を行う必要があります:

  1. expenses という名前の空の配列を初期化する
  2. メニューを表示し、ユーザーの入力を読み取る loop do を作成する
  3. ユーザーが "1" を入力したとき、支出の名前と金額をプロンプトで求め、:name:amount をキーに持つハッシュを作成して expenses 配列に追加し、Expense added! と表示する
  4. ユーザーが "5" を入力したとき、Goodbye! と表示してループを終了する

メニューは以前と全く同じように表示される必要があります:


--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: 

オプション "1" が選択されたとき、以下のプロンプトを表示します:

Expense name: 

名前を読み取った後に次を表示します:

Amount: 

すべてのプロンプトには print を使用してください(カーソルが同じ行に留まるようにするため)。金額は to_f を使用して浮動小数点数に変換してください。

プログラムは、メニューの選択肢、そして選択肢が "1" の場合は支出の名前と金額という順序で、複数の入力を連続して受け取ります。

例えば、入力が 1Coffee4.50、そして 5 の場合、出力は以下のようになります:


--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!

入力が 1Lunch12.991Bus fare2.50、そして 5 の場合、出力は以下のようになります:


--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!

自分で試してみよう

expenses = []

loop do
  puts "\n--- Expense Tracker ---"
  puts "1. Add Expense"
  puts "2. View Expenses"
  puts "3. Total & Average"
  puts "4. Clear All"
  puts "5. Exit"
  print "Choose an option: "
  
  choice = gets.chomp
  
  if choice == "5"
    puts "Goodbye!"
    break
  end
end

基礎のすべてのレッスン