Menu
Coddy logo textTech

Total et moyenne

Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 81 sur 86.

challenge icon

Défi

Facile

Dans la leçon précédente, vous avez implémenté la fonctionnalité "View all expenses". Maintenant, implémentez la fonctionnalité "Show total and average" pour l'option "3".

Modifiez votre code pour gérer l'option "3" :

  1. Lorsque l'utilisateur saisit "3", vérifiez si le tableau expenses est vide
  2. Si le tableau est vide, affichez No expenses to calculate.
  3. Si le tableau contient des dépenses, calculez et affichez :
    • Le total de toutes les dépenses, formaté comme Total: $X.X
    • La dépense moyenne, formatée comme Average: $X.X
  4. L'option "4" doit toujours afficher Coming soon...
  5. Les options "1", "2", et "5" doivent continuer à fonctionner comme avant

Conseil : Utilisez reduce(0, +) pour calculer le total, et divisez par Double(expenses.count) pour la moyenne.

Comportement attendu :

  • Lorsque "3" est saisi sans dépenses, affichez No expenses to calculate.
  • Lorsque "3" est saisi avec des dépenses, affichez le total sur une ligne et la moyenne sur la ligne suivante

Exemple d'interaction :

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!

Essayez vous-même

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

Toutes les leçons de Fondamentaux