Додати підтримку пошуку кількох термінів
Програма "Домашні тварини Contoso" допомагає знайти нові будинки для покинутих домашніх тварин. Команда хоче, щоб функція пошуку була покращена, щоб дозволити користувачам вводити кілька термінів під час пошуку собак, щоб усиновити.
Специфікація пошуку
У цій першій вправі потрібно оновити функцію єдиного пошуку термінів, щоб дозволити користувачам вводити кілька умов пошуку, розділених крапкою з комою.
Зібрати кілька умов пошуку від користувача
- Дозволити користувачу вводити кілька умов пошуку під час пошуку собак
- Користувачу потрібні інструкції для "введення умов пошуку, розділених крапкою з комою"
- Відокремлення окремих умов пошуку від рядка запису користувача та збереження як значень у масиві
- Сортування термінів у масиві в алфавітному порядку сортування
Визначення собак з описом збігів для одного або кількох пошукових термінів користувачів
- Під час ідентифікації собаки
animalsArrayв полі пошуку збігів для кожного введеного користувачем терміну - Для зіставлення термінів виводьте повідомлення з назвою собак і терміном, який відповідає
- приклад:
Our dog Jake is a match for your search for sheppard!
- приклад:
- Коли всі пошукові запити термінів завершено для поточного опису собаки:
- Для одного або кількох збігів виконайте прізвиська та опис поточної собаки
- Для одного або кількох збігів відстежуйте, чи збігається, щоб ви не відображалися в повідомленні "Немає збігів для будь-яких доступних собак" (див. наступний елемент)
- Після того, як всі пошуки собаки завершують без збігів, відобразіть повідомлення "Немає збігів для будь-яких доступних собак"
Застосування наведених нижче правил перевірки
- значення не можуть мати значення null
- значення не можуть містити нульові символи
- будь-яке додаткове обмеження надається розробнику
Примітки до коду
- Примітки до нумерованого коду в початковому коді пропонують пропозиції
- Примітки знаходяться в послідовному порядку, і лише коментарі, починаючи з #1, #2 та #3, застосовуються до цієї вправи завдання
Приклад виводу
Перегляньте наступне анімоване зображення
Зверніть увагу на тимчасове відображення "
searching..." та поточний термін (наприклад, "searching...retriever")Зверніть увагу, що порядок відображення термінів у пошуку тепер буквено-цифровий
Зверніть увагу, що повідомлення для збігів зберігаються (наприклад, "
Our dog lola is a chase match!")
Перегляньте зразок результатів у наведеному нижче розділі "Перевірка роботи", щоб уточнити, як реалізувати функції
Перевірка роботи
Щоб перевірити, чи відповідає код указаним вимогам, виконайте такі дії:
- Створюйте та запускайте програму за допомогою коду Visual Studio.
Примітка
Ви можете вийти з перевірки, перш ніж виконати всі кроки перевірки, якщо відобразиться результат, який не відповідає вимогам до специфікації. Щоб примусово вийти з запущеної програми, на панелі терміналів натисніть клавіші Ctrl-C. Після виходу з запущеної програми виконайте зміни, які, на вашу думку, допоможуть вирішити проблему, з якою ви працюєте, зберегти оновлення у файлі Program.cs, а потім повторно створіть і запустіть код.
Командний рядок термінала має відображатися як відправна точка програми
У командному рядку введіть 2 меню:
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У командному рядку введіть великий, кремовий, золотистий , щоб перевірити, коли кілька пошукових термінів відповідають опису собаки. Переконайтеся, що панель терміналів оновлюється повідомленням, подібним до зразка виводу коду:
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У командному рядку натисніть клавішу Enter, щоб перейти до головного меню
У командному рядку введіть 2 меню:
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У командному рядку введіть великі сірі смуги, щоб перевірити, коли жоден із пошукових термінів не відповідає опису собаки. Переконайтеся, що панель терміналів оновлюється повідомленням, подібним до зразків виводу коду:
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Якщо ви вказали додаткові обмеження для припустимих записів, запустіть відповідні тестові інциденти, щоб підтвердити свою роботу.
Примітка
Якщо код відповідає вимогам, ви зможете виконати кожен крок у порядку та переглянути очікувані результати в одному тестовому проході. Якщо ви додали додаткові обмеження, можливо, знадобиться вийти з програми, а потім запустити окремий тестовий абонемент, щоб завершити перевірку.
Вітаємо, якщо вам вдалося виконати цю вправу!