Menu
Coddy logo textTech

Elencare tutti i contatti

Fa parte della sezione Logica e flusso del percorso Lua di Coddy. Lezione 44 di 54.

challenge icon

Sfida

Facile

Implementa la funzionalità di elenco per la tua applicazione di gestione dei contatti. Quando l'utente inserisce list, il programma dovrebbe visualizzare tutti i contatti salvati in un formato ordinato.

Partendo dalla sfida precedente, aggiungi la funzionalità per gestire il comando list. Usa ipairs() per scorrere la tabella contacts e visualizzare le informazioni di ciascun contatto. Se l'elenco è vuoto, informa l'utente di conseguenza.

Requisiti:

  • Mantieni tutto il codice della sfida precedente (configurazione, visualizzazione del menu, ciclo principale e funzionalità di aggiunta)
  • Quando l'utente inserisce list, verifica se la tabella contacts è vuota
  • Se è vuota, stampa: No contacts found.
  • Se non è vuota, stampa: Contact List:
  • Usa ipairs() per scorrere la tabella contacts
  • Per ogni contatto, stampa nel formato: [index]. [name] - [phone]
  • I comandi add e quit dovrebbero continuare a funzionare come prima
  • Gli altri comandi dovrebbero continuare a stampare Command not yet implemented

Esempio di interazione:

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!

Provalo tu

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

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Lua online