Menu
Coddy logo textTech

Total y promedio

Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 83 de 88.

challenge icon

Desafío

Fácil

Sigue desarrollando tu rastreador de gastos añadiendo la funcionalidad "Total & Average".

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 "2", mostrar todos los gastos o un mensaje si no existe ninguno
  5. Cuando el usuario introduzca "3", calcular y mostrar el total y el promedio de todos los gastos, o un mensaje si no existe ninguno
  6. 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 "3":

  • Si no hay gastos, mostrar: No expenses to calculate.
  • Si hay gastos, mostrar el total y el promedio en este formato:
    Total: $X
    Average: $Y

Calcula el total sumando todos los valores de :amount. Calcula el promedio dividiendo el total por el número de gastos.

Por ejemplo, si las entradas son 3, y luego 5 (calculando cuando está vacío), la salida debería ser:


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

--- 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, Coffee, 5.0, 1, Lunch, 15.0, 3, 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: Total: $20.0
Average: $10.0

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

Pruébalo tú mismo

# Inicializar el arreglo de gastos
expenses = []

# TODO: Escribe tu código a continuación
# Crear un bucle que:
# - Muestre el menú
# - Lea la entrada del usuario
# - Maneje las opciones 1, 2, 3 y 5
# 
# Para la opción "1": solicitar nombre y monto, crear hash, agregar a expenses
# Para la opción "2": mostrar todos los gastos o un mensaje si no hay ninguno
# Para la opción "3": calcular y mostrar el total y el promedio, o un mensaje si no hay ninguno
# Para la opción "5": imprimir "Goodbye!" y salir

Todas las lecciones de Fundamentos