Menu
Coddy logo textTech

全ての支出を表示

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

challenge icon

チャレンジ

簡単

「View Expenses(経費を表示)」機能を追加して、経費トラッカーをさらに構築しましょう。

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

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

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


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

オプション "2" が選択されたとき:

  • 経費がない場合は、次のように出力します:No expenses recorded yet.
  • 経費がある場合は、まず空行を出力し、次に --- Your Expenses --- を出力してから、各経費を Name: $Amount の形式で出力します。

例えば、入力が 2、次に 5(空の状態で表示)の場合、出力は以下のようになります:


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

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

入力が 1, Coffee, 4.5, 1, Lunch, 12.0, 2, そして 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: 
--- Your Expenses ---
Coffee: $4.5
Lunch: $12.0

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

自分で試してみよう

expenses = []

loop do
  puts "--- 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 == "1"
    print "Expense name: "
    name = gets.chomp
    print "Amount: "
    amount = gets.chomp.to_f
    expenses.push({name: name, amount: amount})
    puts "Expense added!"
    puts ""
  elsif choice == "5"
    puts "Goodbye!"
    break
  end
end

基礎のすべてのレッスン