Menu
Coddy logo textTech

Totale e media

Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 81 di 86.

challenge icon

Sfida

Facile

Nella lezione precedente, hai implementato la funzionalità "View all expenses". Ora implementa la funzionalità "Show total and average" per l'opzione "3".

Modifica il tuo codice per gestire l'opzione "3":

  1. Quando l'utente inserisce "3", controlla se l'array expenses è vuoto
  2. Se l'array è vuoto, stampa No expenses to calculate.
  3. Se l'array contiene delle spese, calcola e mostra:
    • Il totale di tutte le spese, nel formato Total: $X.X
    • La spesa media, nel formato Average: $X.X
  4. L'opzione "4" deve continuare a stampare Coming soon...
  5. Le opzioni "1", "2" e "5" devono continuare a funzionare come prima

Suggerimento: Usa reduce(0, +) per calcolare il totale e dividi per Double(expenses.count) per ottenere la media.

Comportamento previsto:

  • Quando si inserisce "3" senza spese, stampa No expenses to calculate.
  • Quando si inserisce "3" con delle spese, stampa il totale su una riga e la media sulla riga successiva

Esempio di interazione:

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!

Provalo tu

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

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Swift