Menu
Coddy logo textTech

Usuwanie kontaktu

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

challenge icon

Wyzwanie

Łatwy

Zaimplementuj funkcję usuwania w aplikacji listy kontaktów. Gdy użytkownik wpisze delete, program powinien poprosić o imię, znaleźć ten kontakt na liście i go usunąć.

Rozbudowując poprzednie wyzwanie, dodaj obsługę polecenia delete. Przejdź przez tablicę contacts, aby znaleźć kontakt o pasującym imieniu, a następnie użyj table.remove(), aby usunąć go z listy. Poinformuj użytkownika, czy usunięcie się powiodło.

Wymagania:

  • Zachowaj cały kod z poprzedniego wyzwania (konfigurację, wyświetlanie menu, główną pętlę oraz funkcje dodawania, wyświetlania listy i wyszukiwania)
  • Gdy użytkownik wpisze delete, wyświetl: Enter name to delete:
  • Odczytaj imię za pomocą io.read()
  • Użyj ipairs(), aby przejść przez tablicę contacts
  • Dla każdego kontaktu sprawdź, czy pole name dokładnie odpowiada imieniu, które ma zostać usunięte
  • Jeśli znajdziesz pasujący kontakt, użyj table.remove() z indeksem kontaktu, aby go usunąć
  • Po pomyślnym usunięciu wyświetl: Contact deleted successfully!
  • Jeśli po sprawdzeniu wszystkich kontaktów nie znajdziesz pasującego, wyświetl: Contact not found.
  • Gdy użyto polecenia list i nie ma żadnych kontaktów, wyświetl: No contacts available.
  • Polecenia add, list, search i quit powinny nadal działać jak wcześniej

Uwaga: Komunikat o pustej liście w tym wyzwaniu to No contacts available.. Użyj dokładnie tego ciągu, nawet jeśli w poprzedniej lekcji użyto innego sformułowania.

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:
list
Contact List:
1. Alice - 555-1234
2. Bob - 555-5678

Enter command:
delete
Enter name to delete:
Alice
Contact deleted successfully!

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

Enter command:
delete
Enter name to delete:
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 available.")
        else
            print("Contact List:")
            for i, contact in ipairs(contacts) do
                print(i .. ". " .. contact.name .. " - " .. contact.phone)
            end
        end
        print()
        
    elseif command == "search" then
        print("Enter name to search:")
        local searchName = io.read()
        local found = false
        
        for i, contact in ipairs(contacts) do
            if contact.name == searchName then
                print("Found: " .. contact.name .. " - " .. contact.phone)
                found = true
                break
            end
        end
        
        if not found then
            print("Contact not found.")
        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