Menu
Coddy logo textTech

Wyszukiwanie kontaktu

Część sekcji Logika i przepływ programu ścieżki Lua w Coddy. Lekcja 45 z 54.

challenge icon

Wyzwanie

Łatwy

Zaimplementuj funkcję wyszukiwania w aplikacji do zarządzania listą kontaktów. Gdy użytkownik wpisze search, program powinien poprosić o imię i wyświetlić wszystkie pasujące kontakty.

Rozbuduj rozwiązanie z poprzedniego wyzwania, dodając obsługę polecenia search. Przejdź przez tablicę contacts, aby znaleźć kontakty, których imiona pasują do wyszukiwanego hasła. Wyświetl wszystkie pasujące kontakty lub poinformuj użytkownika, jeśli nie znaleziono żadnego kontaktu.

Wymagania:

  • Zachowaj cały kod z poprzedniego wyzwania (konfigurację, wyświetlanie menu, główną pętlę, funkcję dodawania i funkcję wyświetlania listy)
  • Gdy użytkownik wpisze search, wyświetl: Enter name to search:
  • Odczytaj wyszukiwane hasło za pomocą io.read()
  • Użyj ipairs(), aby przejść przez tablicę contacts
  • Dla każdego kontaktu sprawdź, czy pole name dokładnie pasuje do wyszukiwanego hasła
  • Jeśli znajdziesz dopasowanie, wyświetl je w formacie: Found: [name] - [phone]
  • Jeśli po sprawdzeniu wszystkich kontaktów nie znajdziesz dopasowania, wyświetl: Contact not found.
  • Polecenia add, list i quit powinny nadal działać tak jak wcześniej
  • Inne polecenia powinny nadal wyświetlać Command not yet implemented

Przykładowa interakcja:

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:
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:
search
Enter name to search:
Alice
Found: Alice - 555-1234

Enter command:
search
Enter name to search:
Charlie
Contact not found.

Enter command:
quit
Goodbye!

Spróbuj swoich sił

-- Contact List Manager
local contacts = {}

-- Display welcome message
print("Welcome to Contact List Manager!")
print()

-- Display menu
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()
        
        table.insert(contacts, {name = name, phone = phone})
        print("Contact added successfully!")
        print()
        
    elseif command == "list" then
        if #contacts == 0 then
            print("No contacts found.")
        else
            print("Contact List:")
            for i, contact in ipairs(contacts) do
                print(i .. ". " .. contact.name .. " - " .. contact.phone)
            end
        end
        print()
        
    elseif command == "quit" then
        print("Goodbye!")
        break
        
    else
        print("Command not yet implemented")
        print()
    end
end

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Lua online