Menu
Coddy logo textTech

Добавление расхода

Часть раздела Основы путешествия по Ruby на Coddy — урок 81 из 88.

challenge icon

Задание

Легко

Доработайте свой трекер расходов из предыдущего урока, добавив функциональность "Add Expense".

Ваша программа должна:

  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", за ним последуют название расхода и сумма.

Например, если входные данные: 1, Coffee, 4.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!

Если входные данные: 1, Lunch, 12.99, 1, Bus fare, 2.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

Все уроки раздела Основы