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é « Afficher toutes les dépenses ». Maintenant, implémentez la fonctionnalité « Afficher le total et la moyenne » 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, au format Total: $X.X
    • La dépense moyenne, au format Average: $X.X
  4. L’option "4" doit toujours afficher Coming soon...
  5. Les options "1", "2" et "5" doivent continuer à fonctionner comme avant

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

Comportement attendu :

  • Lorsque "3" est saisi sans aucune dépense, 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

Entraînez-vous par vous-même : Playground Swift