Menu
Coddy logo textTech

Borrar todo

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

challenge icon

Desafío

Intermedio

En la lección anterior, implementaste la funcionalidad "Total and Average". Ahora, implementa la funcionalidad "Clear All" para la opción 4.

Modifica tu programa para gestionar la opción 4:

  • Elimina todos los gastos de la lista expenses
  • Imprime All expenses cleared!

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 3: Total y promedio
  • Opción 5: Imprimir Goodbye! y salir
  • Opciones no válidas: Imprimir Invalid option

Formato de entrada:

Las opciones del menú y los importes de los gastos como cadenas.

Formato de salida:

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

Ejemplo:

Si las entradas son 1, 50.0, 1, 25.0, 2, 4, 2 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:
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:
Your expenses:
- $50.0
- $25.0
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
All expenses cleared!
--- 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:
Goodbye!

Pista: Usa el método clear() en tu lista mutable para eliminar todos los elementos.

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 == "3") {
            if (expenses.isEmpty()) {
                println("No expenses recorded.")
            } else {
                val total = expenses.sum()
                val average = total / expenses.size
                println("Total: \$$total")
                println("Average: \$$average")
            }
        } else if (choice == "5") {
            println("Goodbye!")
            break
        } else {
            println("Invalid option")
        }
    }
}

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Kotlin