مسح الكل
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 82 من 86.
التحدي
سهلفي الدرس السابق، قمت بتنفيذ ميزة "Show total and average". الآن، قم بتنفيذ ميزة "Clear all expenses" للخيار "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...")
}
}جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالإسناد المركبمراجعة - عمليات رياضية بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
دالة الطباعةتضمين النصوصإدخال ReadLineتحويل الأنواعمراجعة - حتى 120مراجعة - True أو False10الدوال
تعريف دالةالمعاملات والوسائطقيم الإرجاعتسميات الوسائطمراجعة - دالة Sigmaمراجعة - دالة Validationالقيم الافتراضية2المتغيرات
Let مقابل Varتوصيف الأنواع (Type Annotations)الأرقامStringBooleanقواعد التسميةمراجعة - تهيئة المتغيرات5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعامل الثلاثي (Ternary Operator)8حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات3القيم الاختيارية (Optionals)
ما هي القيم الاختياريةفك القيم باستخدام If Letاستخدام Guard Letمعامل دمج Nilمراجعة - فك القيم بأمان9حلقات التكرار
حلقة For-Inحلقة Whileحلقة Repeat-WhileBreakContinueمراجعة - المضروب (Factorial)النطاقات في حلقات التكرارالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)12أساسيات المصفوفات
تعريف مصفوفةالوصول إلى العناصرتعديل المصفوفاتدوال المصفوفاتمراجعة - قائمة المنتجاتمراجعة - المصفوفة المعكوسةTuples15متتبع المصاريف اليومية
نظرة عامة على المشروعالخروج من البرنامج