Menu
Coddy logo textTech

Nach einem Kontakt suchen

Teil des Abschnitts Logic & Flow der Lua-Journey von Coddy — Lektion 45 von 54.

challenge icon

Aufgabe

Einfach

Implementieren Sie die Suchfunktion für Ihre Kontaktlisten-Anwendung. Wenn der Benutzer search eingibt, sollte das Programm nach einem Namen fragen und alle passenden Kontakte anzeigen.

Aufbauend auf der vorherigen Herausforderung fügen Sie die Funktionalität zur Verarbeitung des search-Befehls hinzu. Durchlaufen Sie die contacts-Tabelle in einer Schleife, um Kontakte zu finden, deren Namen mit dem Suchbegriff übereinstimmen. Zeigen Sie alle Treffer an oder informieren Sie den Benutzer, falls kein Kontakt gefunden wurde.

Anforderungen:

  • Behalten Sie den gesamten Code aus der vorherigen Herausforderung bei (Setup, Menüanzeige, Hauptschleife, Add-Funktionalität und List-Funktionalität)
  • Wenn der Benutzer search eingibt, geben Sie aus: Enter name to search:
  • Lesen Sie den Suchbegriff mit io.read() ein
  • Verwenden Sie ipairs(), um durch die contacts-Tabelle zu iterieren
  • Prüfen Sie für jeden Kontakt, ob das Feld name exakt mit dem Suchbegriff übereinstimmt
  • Wenn eine Übereinstimmung gefunden wird, geben Sie diese im Format aus: Found: [name] - [phone]
  • Wenn nach der Überprüfung aller Kontakte keine Übereinstimmung gefunden wurde, geben Sie aus: Contact not found.
  • Die Befehle add, list und quit sollten weiterhin wie zuvor funktionieren
  • Andere Befehle sollten weiterhin Command not yet implemented ausgeben

Beispiel-Interaktion:

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!

Probier es selbst

-- 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

Alle Lektionen in Logic & Flow