Menu
Coddy logo textTech

Total y promedio

Parte de la sección Fundamentos del Journey de Swift de Coddy. Lección 81 de 86.

challenge icon

Desafío

Fácil

En la lección anterior, implementaste la función «Ver todos los gastos». Ahora, implementa la función «Mostrar total y promedio» para la opción "3".

Modifica tu código para gestionar la opción "3":

  1. Cuando el usuario introduzca "3", comprueba si el array expenses está vacío
  2. Si el array está vacío, imprime No expenses to calculate.
  3. Si el array contiene gastos, calcula y muestra:
    • El total de todos los gastos, con el formato Total: $X.X
    • El gasto promedio, con el formato Average: $X.X
  4. La opción "4" debe seguir imprimiendo Coming soon...
  5. Las opciones "1", "2" y "5" deben seguir funcionando como antes

Pista: Usa reduce(0, +) para calcular el total y divide entre Double(expenses.count) para calcular el promedio.

Comportamiento esperado:

  • Cuando se introduzca "3" sin gastos, imprime No expenses to calculate.
  • Cuando se introduzca "3" con gastos, imprime el total en una línea y el promedio en la siguiente

Ejemplo de interacción:

1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
3
No expenses to calculate.
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
20.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
30.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
3
Total: $50.0
Average: $25.0
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
5
Goodbye!

Pruébalo tú mismo

// Daily Expense Tracker - Menu Display

var expenses: [Double] = []

while true {
    // TODO: Write your code below to print the menu options
    // Each option should be on its own line with the format: "number. option text"
    print("1. Add expense")
    print("2. View all expenses")
    print("3. Show total and average")
    print("4. Clear all expenses")
    print("5. Exit")
    
    let choice = readLine()
    
    if choice == "1" {
        print("Enter expense amount:")
        if let input = readLine(), let amount = Double(input) {
            expenses.append(amount)
            print("Expense added!")
        }
    } else if choice == "2" {
        if expenses.isEmpty {
            print("No expenses recorded.")
        } else {
            print("Your expenses:")
            for expense in expenses {
                print("- $\(expense)")
            }
        }
    } else if choice == "3" {
        print("Coming soon...")
    } else if choice == "4" {
        print("Coming soon...")
    } else if choice == "5" {
        print("Goodbye!")
        break
    } else {
        print("Coming soon...")
    }
}

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Swift