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

Desenvolva seu rastreador de despesas da lição anterior adicionando a funcionalidade "Adicionar despesa".

Seu programa deve:

  1. Inicializar um array vazio chamado expenses
  2. Criar um loop do que exiba o menu e leia 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: 

Depois de 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á várias entradas em sequência: a opção do menu e, se a opção 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 deverá 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 deverá 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

Pratique por conta própria: Compilador de Ruby online