Menu
Coddy logo textTech

전체 지출 내역 보기

Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 82번째.

challenge icon

챌린지

쉬움

"View Expenses" 기능을 추가하여 지출 추적기(expense tracker)를 계속해서 구축해 보세요.

프로그램은 다음을 수행해야 합니다:

  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

기초의 모든 레슨