Menu
Coddy logo textTech

全データの削除

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

challenge icon

チャレンジ

簡単

「Clear All(すべて消去)」機能を追加して、支出トラッカーをさらに発展させましょう。

プログラムの要件は以下の通りです:

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

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


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

オプション "4" が選択されたときは、expenses 配列に対して clear メソッドを使用し、All expenses cleared! と表示してください。

例えば、入力が 1, Coffee, 5.0, 4, 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: All expenses cleared!

--- 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, Lunch, 12.0, 1, Dinner, 25.0, 3, 4, 3, そして 5(2つの支出を追加、合計を確認、消去、再度合計を確認)の場合、出力は以下のようになります:


--- 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: Total: $37.0
Average: $18.5

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

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

--- 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
    expense = { name: name, amount: amount }
    expenses << expense
    puts "Expense added!"
  elsif choice == "2"
    if expenses.empty?
      puts "No expenses recorded."
    else
      expenses.each do |expense|
        puts "#{expense[:name]}: $#{expense[:amount]}"
      end
    end
  elsif choice == "3"
    if expenses.empty?
      puts "No expenses to calculate."
    else
      total = 0
      expenses.each do |expense|
        total += expense[:amount]
      end
      average = total / expenses.length
      puts "Total: $#{total}"
      puts "Average: $#{average}"
    end
  elsif choice == "5"
    puts "Goodbye!"
    break
  end
  
  puts ""
end

基礎のすべてのレッスン