すべて削除
CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 82/86。
チャレンジ
簡単前回のレッスンでは、「合計と平均を表示する」機能を実装しました。今回は、オプション "4" の「すべての経費を消去する」機能を実装しましょう。
オプション "4" を処理するようにコードを修正してください:
- ユーザーが
"4"を入力したとき、expenses配列からすべての要素を削除します。 - 配列をクリアした後、
All expenses cleared!と出力します。 - 他のすべてのオプション(
"1"、"2"、"3"、および"5")は、以前と同様に動作し続ける必要があります。
ヒント: 配列からすべての要素をクリアするには、removeAll() メソッドを使用します。
期待される動作:
"4"が入力されたとき、経費配列をクリアし、メッセージで確認を表示します。- クリアした後、経費を表示すると
No expenses recorded.と表示される必要があります。 - クリアした後、合計/平均を表示すると
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:
15.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:
25.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
2
Your expenses:
- $15.0
- $25.0
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
4
All expenses cleared!
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
5
Goodbye!自分で試してみよう
// 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" {
if expenses.isEmpty {
print("No expenses to calculate.")
} else {
let total = expenses.reduce(0, +)
let average = total / Double(expenses.count)
print("Total: $\(total)")
print("Average: $\(average)")
}
} else if choice == "4" {
print("Coming soon...")
} else if choice == "5" {
print("Goodbye!")
break
} else {
print("Coming soon...")
}
}