Adición de compatibilidad con la búsqueda de varios términos

Completado

La aplicación Contoso Pets ayuda a encontrar nuevos hogares para mascotas abandonadas. El equipo quiere que la característica de búsqueda mejore para permitir que los usuarios escriban varios términos al buscar perros que adopten.

Especificación de búsqueda

En este primer ejercicio de desafío, debe actualizar la característica de búsqueda de un solo término para permitir que los usuarios escriban varios términos de búsqueda separados por comas.

Recopilación de varios términos de búsqueda del usuario

  • Permitir que el usuario escriba varios términos de búsqueda al buscar perros
  • El usuario necesita instrucciones para "escribir los términos de búsqueda separados por comas".
  • Separar los términos de búsqueda individuales de la cadena de entrada de usuario y almacenar como valores en una matriz
  • Ordenar los términos de la matriz en criterio de ordenación alfanumérico

Identificar perros con descripciones con coincidencias para uno o varios términos de búsqueda de usuarios

  • A medida que identifica un perro en animalsArray, busque coincidencias para cada término que el usuario haya escrito
  • Para una coincidencia de términos, genera un mensaje con el nombre de los perros y el término que coincide.
    • ejemplo: Our dog Jake is a match for your search for sheppard!
  • Cuando se completen todas las búsquedas de términos para la descripción del perro actual:
    • Para una o varias coincidencias, genera el alias y la descripción del perro actual.
    • Para una o varias coincidencias, realice un seguimiento de que ha habido una coincidencia para que sepa no mostrar un mensaje "no se encontraron coincidencias para ningún perro disponible" (consulte el siguiente elemento).
  • Después de que todas las búsquedas de perros se completen sin coincidencias, muestre un mensaje "No se encontraron coincidencias para ningún perro disponible"

Aplicar las siguientes reglas de validación

  • los valores no pueden ser NULL
  • los valores no pueden tener cero caracteres
  • cualquier restricción adicional es para el desarrollador

Comentarios de código

  • Los comentarios de código numerados en el código de inicio ofrecen sugerencias.
  • Los comentarios están en un orden secuencial y solo se aplican los comentarios a partir de #1, #2 y #3 a este ejercicio del desafío.

Ejemplo de salida

  • Revise la siguiente imagen animada.

    • Observe la presentación temporal de "searching..." seguida del término actual (ejemplo: "searching...retriever")

    • Observe que el orden en el que aparecen los términos en la búsqueda está ahora en alfanumérico

    • Observe que los mensajes de coincidencias persisten (por ejemplo: "Our dog lola is a chase match!")

      Captura de pantalla animada de un ejemplo de descripciones de aplicaciones que buscan perros con cuatro términos enviados por el usuario.

  • Revise la salida de ejemplo de la sección siguiente, "Cómo revisar tu trabajo", para aclarar aún más cómo implementar funcionalidades.

Cómo comprobar tu trabajo

Para validar que el código cumple con los requisitos especificados, complete los pasos siguientes:

  1. Use Visual Studio Code para compilar y ejecutar la aplicación.

Nota:

Puede salir de la prueba de comprobación antes de completar todos los pasos de comprobación si ve un resultado que no cumple con los requisitos de especificación. Para forzar una salida del programa en ejecución, en el panel Terminal, presione Ctrl-C. Después de salir de la aplicación en ejecución, complete las modificaciones que cree que abordarán el problema en el que está trabajando, guarde las actualizaciones en el archivo Program.cs y, luego, vuelva a compilar el código y ejecútelo.

  1. La línea de comandos del terminal debe mostrarse como el punto de inicio del programa.

  2. En el símbolo del sistema, escriba el menú 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
    
  3. En el símbolo del sistema, escriba large, cream, golden para probar cuándo coincide más de un término de búsqueda con las descripciones de perro. Compruebe que el panel Terminal se actualiza con un mensaje similar al ejemplo de salida de código:

    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. En el símbolo del sistema, presione la tecla Entrar para continuar al menú principal

  5. En el símbolo del sistema, escriba el menú 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
    
    
  6. En el símbolo del sistema, escriba big, grey, stripes para probar cuándo no coincide ninguno de los términos de búsqueda con las descripciones de perro. Compruebe que el panel Terminal se actualiza con un mensaje similar a los ejemplos de salida de código:

    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. Si especificó restricciones adicionales para las entradas válidas, ejecute los casos de prueba adecuados para verificar su trabajo.

Nota:

Si el código cumple los requisitos, debe poder completar cada paso en orden y ver los resultados esperados en una sola prueba superada. Si ha agregado restricciones adicionales, es posible que deba salir de la aplicación y luego ejecutar una prueba independiente para completar su validación.

¡Felicitaciones si ha tenido éxito en este ejercicio de desafío!