Menu
Coddy logo textTech

Total y promedio

Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 88 de 93.

challenge icon

Desafío

Intermedio

En la lección anterior, implementaste la funcionalidad "View All Expenses". Ahora, implementa la funcionalidad "Total and Average" para la opción 3.

Modifica tu programa para gestionar la opción 3:

  • Si la lista expenses está vacía, imprime No expenses recorded.
  • Si hay gastos, calcula e imprime:
    • Total: $X, donde X es la suma de todos los gastos
    • Average: $Y, donde Y es el promedio de todos los gastos

Todas las demás opciones deben seguir funcionando como antes:

  • Opción 1: Añadir gasto
  • Opción 2: Ver todos los gastos
  • Opción 5: Imprimir Goodbye! y salir
  • Opción 4 o no válida: Imprimir Invalid option

Formato de entrada:

Opciones del menú y cantidades de gastos como cadenas.

Formato de salida:

El menú, seguido de la respuesta adecuada para cada acción.

Ejemplo:

Si las entradas son 3, 1, 20.0, 1, 30.0, 1, 10.0, 3 y 5, la salida debería ser:

--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
No expenses recorded.
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Total: $60.0
Average: $20.0
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Goodbye!

Pruébalo tú mismo

fun main() {
    val expenses = mutableListOf<Double>()
    
    while (true) {
        println("--- Expense Tracker ---")
        println("1. Add Expense")
        println("2. View All Expenses")
        println("3. Total and Average")
        println("4. Clear All")
        println("5. Exit")
        println("Choose an option:")
        
        val choice = readLine()
        
        if (choice == "1") {
            println("Enter expense amount:")
            val amount = readLine()!!.toDouble()
            expenses.add(amount)
            println("Expense added!")
        } else if (choice == "2") {
            if (expenses.isEmpty()) {
                println("No expenses recorded.")
            } else {
                println("Your expenses:")
                for (expense in expenses) {
                    println("- \$$expense")
                }
            }
        } else if (choice == "5") {
            println("Goodbye!")
            break
        } else {
            println("Invalid option")
        }
    }
}

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Kotlin