Přidání podpory vyhledávání více termínů

Dokončeno

Aplikace Contoso Pets pomáhá najít nové domovy pro opuštěné domácí zvířata. Tým chce vylepšenou funkci vyhledávání, aby uživatelé mohli při hledání psů zadat více termínů.

Specifikace vyhledávání

V tomto prvním cvičení úkolu je potřeba aktualizovat funkci vyhledávání s jedním termínem, aby uživatelé mohli zadat více hledaných termínů oddělených čárkami.

Shromážděte několik vyhledávacích termínů od uživatele

  • Povolit uživateli zadat více hledaných termínů při hledání psů
  • Uživatel potřebuje pokyny k zadání hledaných termínů oddělených čárkami.
  • Oddělte jednotlivé hledané termíny od vstupního řetězce uživatele a uložte je jako hodnoty v poli.
  • Seřazení termínů v poli v alfanumerickém pořadí řazení

Identifikování psů podle popisů, které odpovídají jednomu nebo více vyhledávacím termínům uživatele.

  • Při identifikaci psa v rámci animalsArray vyhledejte shody pro každý termín, který uživatel zadal.
  • Pro shodu termínu vypíšete zprávu s názvem psů a termínem, který se shoduje.
    • příklad: Our dog Jake is a match for your search for sheppard!
  • Když jsou veškerá hledání termínů pro aktuální popis psa dokončena,
    • U jednoho nebo více shod zadejte přezdívku a popis aktuálního psa.
    • V případě jedné nebo více shod sledujte, že došlo ke shodě, abyste věděli, že se nezobrazuje zpráva "Nenašly se žádné shody pro žádné dostupné psy" (viz další položka).
  • Po dokončení všech vyhledávání psů, která nevedla k žádným shodám, se zobrazí zpráva: "Nebyla nalezena žádná shoda pro žádné dostupné psy."

Vynucujte následující ověřovací pravidla

  • hodnoty nesmí mít hodnotu null.
  • hodnoty nemohou mít nulový počet znaků
  • jakékoli další omezení je až na vývojáře.

Komentáře ke kódu

  • Číslované komentáře v úvodním kódu nabízejí návrhy
  • Komentáře jsou v sekvenčním pořadí a na toto cvičení výzvy se vztahují pouze komentáře začínající na #1, #2 a #3.

Ukázkový výstup

  • Podívejte se na následující animovaný obrázek.

    • Všimněte si dočasného zobrazení "searching..." následovaného aktuálním termínem (příklad: "searching...retriever")

    • Všimněte si, že pořadí termínů ve vyhledávání je nyní alfanumerické.

    • Všimněte si, že zprávy pro shody přetrvávají (příklad: "Our dog lola is a chase match!")

      Animovaný snímek obrazovky s příkladem aplikace, která hledá popisy psa se čtyřmi odeslanými termíny uživatele

  • Projděte si ukázkový výstup v následující části "Jak zkontrolovat svou práci", abyste podrobněji vysvětlili, jak implementovat funkce.

Postup kontroly práce

Pokud chcete ověřit, že váš kód splňuje zadané požadavky, proveďte následující kroky:

  1. K sestavení a spuštění aplikace použijte Visual Studio Code.

Poznámka:

Ověřovací test můžete před dokončením všech kroků ověření ukončit, pokud se zobrazí výsledek, který nesplňuje požadavky specifikace. Pokud chcete vynutit ukončení spuštěné aplikace, stiskněte na panelu Terminálu kombinaci kláves Ctrl-C. Po ukončení spuštěné aplikace dokončete úpravy, u kterých se domníváte, že budou řešit váš problém, uložte aktualizace do Program.cs souboru a pak znovu sestavte a spusťte kód.

  1. Příkazový řádek terminálu by se měl zobrazit jako výchozí bod programu.

  2. Na příkazovém řádku zadejte 2 menu:

    Welcome to the Contoso PetFriends app. Your main menu options are:
     1. List all of our current pet information
     2. Display all dogs with a specified characteristic
    
    Enter your selection number (or type Exit to exit the program)
    2
    
    Enter dog characteristics to search for separated by commas
    
  3. Na příkazovém řádku zadejte velký, krém, zlatý pro testování, kdy více než jeden hledaný termín odpovídá popisům psa. Ověřte, že se panel terminálu aktualizuje zprávou podobnou ukázkě výstupu kódu:

    Enter dog characteristics to search for separated by commas
    large, cream, golden
    
    Our dog Nickname: lola matches your search for cream
    Our dog Nickname: lola matches your search for golden
    Nickname: lola (ID #: d1)
    Physical description: medium sized cream colored female golden retriever weighing about 45 pounds. housebroken.
    Personality: loves to have her belly rubbed and likes to chase her tail. gives lots of kisses.
    
    Our dog Nickname: gus matches your search for golden
    Our dog Nickname: gus matches your search for large
    Nickname: gus (ID #: d2)
    Physical description: large reddish-brown male golden retriever weighing about 85 pounds. housebroken.
    Personality: loves to have his ears rubbed when he greets you at the door, or at any time! loves to lean-in and give doggy hugs.
    
    Press the Enter key to continue
    
  4. Na příkazovém řádku stiskněte klávesu Enter a pokračujte v hlavní nabídce.

  5. Na příkazovém řádku zadejte 2 menu:

    Welcome to the Contoso PetFriends app. Your main menu options are:
     1. List all of our current pet information
     2. Display all dogs with a specified characteristic
    
    Enter your selection number (or type Exit to exit the program)
    2
    
    Enter dog characteristics to search for separated by commas
    
    
  6. Na příkazovém řádku zadejte velké, šedé pruhy pro testování, když žádný z hledaných termínů neodpovídá popisu psa. Ověřte, že se panel terminálu aktualizuje zprávou podobnou ukázkovým výstupům kódu:

    Enter dog characteristics to search for separated by commas
    big, grey, stripes
    
    None of our dogs are a match for: big, grey, stripes
    
    
    Press the Enter key to continue
    
  7. Pokud jste zadali další omezení platných položek, spusťte příslušné testovací případy a ověřte svou práci.

Poznámka:

Pokud váš kód splňuje požadavky, měli byste být schopni provést každý krok v daném pořadí a zobrazit očekávané výsledky v jednom testovacím průchodu. Pokud jste přidali další omezení, možná budete muset aplikaci ukončit a pak spustit samostatný testovací průchod, abyste dokončili ověření.

Blahopřejeme, pokud jste uspěli v tomto náročném úkolu!