Menu
Coddy logo textTech

Agregar gasto

Parte de la sección Fundamentos del Journey de Ruby de Coddy. Lección 81 de 88.

challenge icon

Desafío

Fácil

Amplía tu rastreador de gastos de la lección anterior agregando la funcionalidad «Agregar gasto».

Tu programa debe:

  1. Inicializar un array vacío llamado expenses
  2. Crear un loop do que muestre el menú y lea la entrada del usuario
  3. Cuando el usuario ingrese "1", solicitar el nombre y el importe del gasto, crear un hash con las claves :name y :amount, agregarlo al array expenses e imprimir Expense added!
  4. Cuando el usuario ingrese "5", imprimir Goodbye! y salir del bucle

El menú debe mostrarse exactamente como antes:


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

Cuando se seleccione la opción "1", muestra estas indicaciones:

Expense name: 

Después de leer el nombre:

Amount: 

Usa print para todas las indicaciones (de modo que el cursor permanezca en la misma línea). Convierte el importe a un número de punto flotante usando to_f.

El programa recibirá varias entradas en secuencia: la opción del menú y, si la opción es "1", seguirán el nombre y el importe del gasto.

Por ejemplo, si las entradas son 1, Coffee, 4.50 y después 5, la salida debe 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!

Si las entradas son 1, Lunch, 12.99, 1, Bus fare, 2.50 y después 5, la salida debe 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!

Pruébalo tú mismo

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 las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Ruby online