Menu
CoddyTech

Xem tất cả khoản chi

Thuộc phần Kiến thức nền tảng trong hành trình Ruby của Coddy. Bài học 82 trên 88.

challenge icon

Thử thách

Dễ

Mở rộng trình theo dõi chi tiêu bằng cách thêm chức năng "View Expenses".

Chương trình của bạn cần:

  1. Khởi tạo một mảng rỗng có tên expenses
  2. Tạo loop do để hiển thị menu và đọc đầu vào của người dùng
  3. Khi người dùng nhập "1", yêu cầu nhập tên và số tiền chi tiêu, tạo một từ điển có các khóa :name và :amount, thêm từ điển đó vào mảng expenses, rồi in ra Expense added!
  4. Khi người dùng nhập "2", hiển thị tất cả khoản chi tiêu hoặc một thông báo nếu chưa có khoản nào
  5. Khi người dùng nhập "5", in ra Goodbye! rồi thoát khỏi vòng lặp

Menu cần hiển thị chính xác như trước:


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

Khi chọn tùy chọn "2":

  • Nếu chưa có khoản chi tiêu nào, in ra: No expenses recorded yet.
  • Nếu có khoản chi tiêu, trước tiên in ra một dòng trống, sau đó in --- Your Expenses ---, rồi in từng khoản chi tiêu theo định dạng: Name: $Amount

Ví dụ, nếu đầu vào là 2, rồi đến 5 (xem khi danh sách còn trống), đầu ra cần là:


--- 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!

Nếu đầu vào là 1, Coffee, 4.5, 1, Lunch, 12.0, 2, rồi đến 5, đầu ra cần là:


--- 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!

Tự làm thử

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

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Ruby online