Menu
Coddy logo textTech

Totale e media

Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 88 di 93.

challenge icon

Sfida

Medio

Nella lezione precedente, hai implementato la funzionalità "View All Expenses". Ora implementa la funzionalità "Total and Average" per l'opzione 3.

Modifica il programma per gestire l'opzione 3:

  • Se la lista expenses è vuota, stampa No expenses recorded.
  • Se ci sono spese, calcola e stampa:
    • Total: $X dove X è la somma di tutte le spese
    • Average: $Y dove Y è la media di tutte le spese

Tutte le altre opzioni devono continuare a funzionare come prima:

  • Opzione 1: Aggiungi una spesa
  • Opzione 2: Visualizza tutte le spese
  • Opzione 5: Stampa Goodbye! ed esci
  • Opzione 4 o non valida: Stampa Invalid option

Formato di input:

Scelte del menu e importi delle spese come stringhe.

Formato di output:

Il menu, seguito dalla risposta appropriata per ogni azione.

Esempio:

Se gli input sono 3, 1, 20.0, 1, 30.0, 1, 10.0, 3 e 5, l'output dovrebbe essere:

--- 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!

Provalo tu

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")
        }
    }
}

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Kotlin