Menu
Coddy logo textTech

Adicionar Despesa

Parte da seção Fundamentos do Journey de Ruby da Coddy — lição 81 de 88.

challenge icon

Desafio

Fácil

Aprimore o seu rastreador de despesas da lição anterior adicionando a funcionalidade "Add Expense".

Seu programa deve:

  1. Inicializar um array vazio chamado expenses
  2. Criar um loop do que exibe o menu e lê a entrada do usuário
  3. Quando o usuário inserir "1", solicitar o nome e o valor da despesa, criar um hash com as chaves :name e :amount, adicioná-lo ao array expenses e imprimir Expense added!
  4. Quando o usuário inserir "5", imprimir Goodbye! e sair do loop

O menu deve ser exibido exatamente como antes:


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

Quando a opção "1" for selecionada, exiba estas solicitações:

Expense name: 

Então, após ler o nome:

Amount: 

Use print para todas as solicitações (para que o cursor permaneça na mesma linha). Converta o valor para um float usando to_f.

O programa receberá múltiplas entradas em sequência: a escolha do menu e, se a escolha for "1", o nome e o valor da despesa virão em seguida.

Por exemplo, se as entradas forem 1, Coffee, 4.50, e depois 5, a saída deve ser:


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

Se as entradas forem 1, Lunch, 12.99, 1, Bus fare, 2.50, e depois 5, a saída deve ser:


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

Experimente você mesmo

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

Todas as lições de Fundamentos