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 añadiendo la funcionalidad "Add Expense".

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 introduzca "1", solicitar el nombre y el monto del gasto, crear un hash con las llaves :name y :amount, añadirlo al array expenses y mostrar Expense added!
  4. Cuando el usuario introduzca "5", mostrar 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 solicitudes:

Expense name: 

Luego, después de leer el nombre:

Amount: 

Usa print para todas las solicitudes (para que el cursor permanezca en la misma línea). Convierte el monto a un float usando to_f.

El programa recibirá múltiples entradas en secuencia: la elección del menú y, si la elección es "1", le seguirán el nombre del gasto y el monto.

Por ejemplo, si las entradas son 1, Coffee, 4.50, y luego 5, la salida debería 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 luego 5, la salida debería 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