Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

عرض كافة جهات الاتصال

جزء من قسم Logic & Flow في رحلة Lua على Coddy — الدرس 44 من 54.

challenge icon

التحدي

سهل

قم بتنفيذ وظيفة القائمة (list) لتطبيق مدير قائمة جهات الاتصال الخاص بك. عندما يدخل المستخدم list، يجب أن يعرض البرنامج جميع جهات الاتصال المخزنة بطريقة منسقة.

بناءً على التحدي السابق، أضف وظيفة للتعامل مع الأمر list. استخدم ipairs() للتكرار عبر جدول contacts وعرض معلومات كل جهة اتصال. إذا كانت القائمة فارغة، فأخبر المستخدم بذلك.

المتطلبات:

  • احتفظ بجميع الأكواد من التحدي السابق (الإعداد، عرض القائمة، الحلقة الرئيسية، ووظيفة الإضافة)
  • عندما يدخل المستخدم list، تحقق مما إذا كان جدول contacts فارغاً
  • إذا كان فارغاً، اطبع: No contacts found.
  • إذا لم يكن فارغاً، اطبع: Contact List:
  • استخدم ipairs() للتكرار عبر جدول contacts
  • لكل جهة اتصال، اطبع بالتنسيق التالي: [index]. [name] - [phone]
  • يجب أن تظل الأوامر add و quit تعمل كما كانت من قبل
  • يجب أن تظل الأوامر الأخرى تطبع Command not yet implemented

مثال على التفاعل:

Welcome to Contact List Manager!

Available Commands:
add - Add a new contact
list - Display all contacts
search - Search for a contact
delete - Delete a contact
quit - Exit the program

Enter command:
list
No contacts found.

Enter command:
add
Enter name:
Alice
Enter phone number:
555-1234
Contact added successfully!

Enter command:
add
Enter name:
Bob
Enter phone number:
555-5678
Contact added successfully!

Enter command:
list
Contact List:
1. Alice - 555-1234
2. Bob - 555-5678

Enter command:
quit
Goodbye!

جرّب بنفسك

-- Initialize contacts list
local contacts = {}

-- Display welcome message and menu
print("Welcome to Contact List Manager!")
print()
print("Available Commands:")
print("add - Add a new contact")
print("list - Display all contacts")
print("search - Search for a contact")
print("delete - Delete a contact")
print("quit - Exit the program")
print()

-- Main loop
while true do
    print("Enter command:")
    local command = io.read()
    
    if command == "add" then
        print("Enter name:")
        local name = io.read()
        print("Enter phone number:")
        local phone = io.read()
        
        local contact = {name = name, phone = phone}
        table.insert(contacts, contact)
        
        print("Contact added successfully!")
        print()
    elseif command == "quit" then
        print("Goodbye!")
        break
    else
        print("Command not yet implemented")
        print()
    end
end

جميع دروس Logic & Flow