Menu
Coddy logo textTech

View All Expenses

Part of the Fundamentals section of Coddy's Swift journey — lesson 80 of 86.

challenge icon

Challenge

Easy

In the previous lesson, you implemented the "Add expense" feature. Now, implement the "View all expenses" feature for option "2".

Modify your code to handle option "2":

  1. When the user enters "2", check if the expenses array is empty
  2. If the array is empty, print No expenses recorded.
  3. If the array has expenses, print Your expenses: followed by each expense on its own line, formatted as - $X.XX (where X.XX is the expense amount)
  4. Options "3" and "4" should still print Coming soon...
  5. Options "1" and "5" should continue working as before

Expected behavior:

  • When "2" is entered with no expenses, print No expenses recorded.
  • When "2" is entered with expenses, print the header and list each expense with a dash and dollar sign

Example interaction:

1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
2
No expenses recorded.
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
25.50
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
10.00
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
2
Your expenses:
- $25.5
- $10.0
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
5
Goodbye!

Try it yourself

// 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" {
        print("Coming soon...")
    } 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...")
    }
}

All lessons in Fundamentals