Добавление поддержки поиска нескольких терминов
Приложение 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 Code для создания и запуска приложения.
Замечание
Вы можете выйти из теста проверки перед выполнением всех шагов проверки, если результат не соответствует требованиям спецификации. Чтобы принудительно выйти из запущенной программы, на панели терминала нажмите клавиши 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В командной строке нажмите клавишу ВВОД, чтобы перейти к главному меню
В командной строке введите 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Если вы указали дополнительные ограничения для допустимых записей, выполните соответствующие тестовые случаи, чтобы проверить работу.
Замечание
Если ваш код соответствует требованиям, вы сможете выполнить каждый шаг по порядку и увидеть ожидаемые результаты за один проход теста. Если вы добавили дополнительные ограничения, может потребоваться выйти из приложения, а затем выполнить отдельный тестовый проход, чтобы завершить проверку.
Поздравляем, если вы преуспели в этом упражнении!