Menu
Coddy logo textTech

Список всех контактов

Часть раздела Logic & Flow путешествия по Lua на Coddy — урок 44 из 54.

challenge icon

Задание

Легко

Реализуйте функциональность вывода списка для вашего приложения по управлению контактами. Когда пользователь вводит 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