챌린지 준비

완료됨

Visual Studio Code를 사용하여 Contoso Pets 입양 C# 콘솔 애플리케이션을 개발하고 업데이트합니다. 이 애플리케이션은 이미 입양에 사용할 수 있는 애완 동물에 대한 샘플 데이터를 만들고 애완 동물의 설명 정보를 표시할 수 있습니다. 이 애플리케이션은 각 개에 대한 설명 데이터 내에서 단일 용어를 사용하는 검색을 제공합니다. 추가된 기본 기능은 여러 용어를 사용하는 검색입니다. 보조 개선 사항은 “검색 상태” 애니메이션이며 애니메이션에 검색 카운트다운을 추가하는 기능을 포함합니다.

프로젝트 사양 개요

여러 용어 검색 및 향상된 “검색 상태” 애니메이션 기능을 포함하도록 기존 Contoso Pets 시작 애플리케이션을 업데이트합니다.

애완 동물 특징 여러 용어 검색에 대한 사용자 입력을 수집합니다.

  • 사용자는 쉼표로 구분된 검색어를 제공해야 합니다.
  • 검색어를 배열에 저장하고 용어를 사전순으로 정렬합니다.

“개”를 식별하는 동물 배열 루프 내에서:

  • 검색어를 반복하여 각 개의 설명을 검색합니다.
  • 결합된 설명에서 용어 일치를 검색합니다.
  • 일치한 용어가 하나 이상 있는 각 개의 설명을 출력합니다.

개를 식별하는 “동물 검색” 배열 루프를 종료한 후:

  • 검색어에 해당하는 개가 없을 때에는 일치하는 개 없음 메시지가 표시됩니다.

“검색 상태” 개선 사항을 추가합니다.

애니메이션을 업데이트합니다.

  • 회전 다이얼과 유사하도록 searchingIcons 배열을 조정합니다.
  • 애니메이션이 숫자 카운트다운을 2에서 0까지 표시하도록 애니메이션 루프를 조정합니다(2.., 1.., 0..).

시작 코드

이 과제 프로젝트 모듈의 시작 코드 프로젝트에는 다음 코드를 제공하는 Program.cs 파일이 포함됩니다.

  • 이 코드는 애완 동물 데이터 및 메뉴 항목 선택을 수집하고 처리하는 데 사용되는 변수를 선언합니다.

  • 이 코드는 ourAnimals 배열을 선언합니다.

  • 이 코드는 if-elseif-else 구문 주위에 for 루프를 사용하여 샘플 데이터 세트로 ourAnimals 배열을 채웁니다.

  • 코드는 사용자 선택 영역에 대해 다음과 같은 기본 메뉴 옵션을 표시합니다.

    1. List all of our current pet information
    2. Display all dogs with a specified characteristic
    
    Enter menu item selection or type "Exit" to exit the program
    
  • 애플리케이션 메뉴 코드는 사용자의 메뉴 항목 선택을 읽고 선택 항목을 에코하는 메시지를 표시합니다.

  • 사례 1: “현재 애완 동물 정보 모두 나열”은 모든 동물에 대한 샘플 데이터를 표시합니다(개 2마리와 고양이 2마리).

  • 사례 2: “2. 지정된 특징을 가진 모든 개 표시”는 새 기능 코드가 추가되는 기본 영역입니다.

    • 사례 2에서 시작 코드는 강아지를 식별하고 사용자가 입력한 단일 검색어를 찾습니다.
    • 각 개를 검색하기 전에 콘솔에는 검색 발생 상태를 시뮬레이션하는 간단한 “애니메이션”이 표시됩니다.

목표는 기존 코드를 업데이트하여 팀에서 요청한 주요 기능을 개발하는 것입니다.

  • 개 여러 특성 검색 추가
  • 검색 애니메이션 업데이트

개발 환경으로 Visual Studio Code를 사용하고 개발 프로세스의 각 스테이지에서 애플리케이션을 테스트합니다.

설치 프로그램

다음 단계를 사용하여 단계별 프로젝트 연습을 준비합니다.

  1. 과제 프로젝트의 코드 폴더가 포함된 zip 파일을 다운로드합니다.

    • 브라우저에서 Lab Files 링크를 열어 zip 파일(Challenge-project-work-variable-data-CSharp-main.zip)을 다운로드합니다.
  2. 다운로드한 파일의 압축을 로컬로(또는 로컬 개발 환경을 사용하지 않는 경우 샌드박스에서) 압축을 풉니다.

    1. 로컬 컴퓨터에서 downloads 폴더로 이동합니다.
    2. Challenge-project-work-variable-data-CSharp-main.zip 파일을 마우스 오른쪽 단추로 클릭한 다음 모두 압축 풀기를 선택합니다.
    3. 추출된 파일 위치(루트 폴더의 위치)를 기록해 둡니다.
  3. Visual Studio Code에서 루트 GuidedProject 폴더를 엽니다.

    1. Visual Studio Code를 로컬로 열거나 로컬 개발 환경을 사용하지 않는 경우 MS Learn 샌드박스를 열고 Visual Studio Code를 엽니다.

    2. Visual Studio Code의 파일 메뉴에서 폴더 열기를 선택합니다.

    3. 추출된 파일이 포함된 폴더로 이동하여 폴더 구조를 확장하여 "Challenge-project-work-variable-data-CSharp-main"이라는 폴더를 찾습니다.

    4. Challenge-project-work-variable-data-CSharp-main을 선택한 다음, 폴더 선택을 선택합니다.

      • Visual Studio Code 탐색기 보기에는 FinalStarter라는 두 개의 하위 폴더가 표시됩니다.

시작 파일 검토

  1. Visual Studio Code에서 과제 프로젝트 시작 폴더로 이동합니다.

  2. Visual Studio Code 메뉴 모음에서 “터미널” > “새 터미널”을 선택합니다.

  3. 터미널 창은 Program.cs 파일이 포함된 시작 폴더로 열립니다. 터미널 창에서 dotnet run을 입력하여 파일을 빌드하고 실행합니다.

  4. 이 메뉴에는 두 가지 옵션이 표시됩니다. 다음 터미널 예제와 같이 1을 입력합니다.

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

    현재 애완 동물의 샘플 데이터는 Press the Enter key to continue 메시지 뒤에 표시됩니다.

  5. 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 one desired dog characteristic to search for
    
    
  6. 검색어에 “대형”을 입력하고 “Enter” 키를 누릅니다.

  7. 다음과 같이 “검색” 메시지가 표시됩니다.

    searching our dog Nickname: gus for large ...     
    
  8. 메시지는 각 애완동물 검색을 시작하기 전에 실행되며, 애니메이션의 마지막에는 마침표(., .., ...)가 변경됩니다. 누락된 경우 검색을 다시 실행합니다.

  9. 검색이 끝나면 Enter 키를 눌러 메뉴로 돌아갑니다. 그런 다음, “exit”를 입력하고 “Enter” 키를 눌러 애플리케이션을 닫습니다.

  10. Project.cs 시작 코드를 숙지하는 데는 몇 분 정도 걸립니다.

    업데이트, 검색 및 애니메이션이 필요한 영역을 중점적으로 살펴봅니다.

    업데이트를 배치할 위치를 나타내는 몇 가지 주석이 코드에 남아 있습니다.

이제 안내 프로젝트 연습을 시작할 준비가 되었습니다. 행운을 빌어!