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

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

Потренируйтесь самостоятельно: Онлайн-компилятор Ruby