연습 - 이스케이프된 문자 시퀀스를 사용하여 출력 형식 지정

완료됨

이 연습에서는 이전 연습의 콘솔 출력을 수정하여 지정된 보고 형식을 달성합니다.

콘솔 출력 형식 지정

이 작업에서는 보고된 출력에 마무리 작업을 적용하도록 코드를 업데이트합니다. 먼저 학생의 이름을 포함하고 열 레이블이 포함된 머리글 행을 추가합니다. 그런 다음 문자 이스케이프 시퀀스를 사용하여 정보 열 간 추가 패딩을 추가합니다.

  1. .NET 편집기에서 학생의 과정 정보를 표시하는 데 사용되는 Console.WriteLine() 문을 찾습니다.

  2. Console.WriteLine() 문 위에 빈 코드 줄을 만듭니다.

  3. 만든 빈 코드 줄에서 학생의 이름을 추가하려면 다음 코드를 입력합니다.

    Console.WriteLine($"Student: {studentName}\n");
    
    

    텍스트 끝에 \n을 포함하고 있습니다. “C#를 사용하여 기본 문자열 형식 지정 수행” 모듈에서 \n 이스케이프 문자 시퀀스로 인해 새 줄이 만들어진다는 것을 배웠습니다. 이스케이프 시퀀스의 위치가 중요합니다. 이 경우 \n이 콘솔에 쓰려는 정보의 끝에 있으므로 "학생 이름"이 표시된 후 새 줄이 추가됩니다.

  4. 이전 Console.WriteLine() 문 다음에 빈 코드 줄을 만듭니다.

  5. 만든 빈 코드 줄에서 과정 정보의 머리글을 추가하려면 다음 코드를 입력합니다.

    Console.WriteLine("Course\t\t\t\tGrade\tCredit Hours");
    
    

    과정 이름 다음에 네 개의 탭을 추가합니다. 추가 탭 정지는 더 긴 과정 이름을 위한 추가 공간을 허용합니다.

  6. 정렬된 텍스트 열로 출력 형식을 지정하려면 다음과 같이 단어 사이의 공백을 \t 이스케이프 시퀀스로 바꿉니다.

    Console.WriteLine($"{course1Name}\t\t\t{course1Grade}\t\t{course1Credit}");
    Console.WriteLine($"{course2Name}\t\t\t{course2Grade}\t\t{course2Credit}");
    Console.WriteLine($"{course3Name}\t\t\t{course3Grade}\t\t{course3Credit}");
    Console.WriteLine($"{course4Name}\t{course4Grade}\t\t{course4Credit}");
    Console.WriteLine($"{course5Name}\t\t{course5Grade}\t\t{course5Credit}");
    
    

    \t 이스케이프 시퀀스는 텍스트 항목 사이에 탭 정지를 삽입합니다. 이러한 탭 정지는 왼쪽 정렬된 정보 열이 되어야 합니다.

    course4Namecourse5Name의 탭 수를 줄입니다. 이러한 차이점은 해당 과정 이름이 다른 과정 이름보다 길기 때문입니다. 이전 단계에서 긴 과정 이름과 짧은 과정 이름 모두에 대해 간격을 일관되게 유지하기 위해 코스 이름 열 뒤에 추가 탭을 추가했습니다.

  7. 최종 GPA 결과 출력에 패딩을 추가하려면 다음과 같이 코드를 업데이트합니다.

    Console.WriteLine($"\nFinal GPA:\t\t\t {leadingDigit}.{firstDigit}{secondDigit}");
    
    

작업 결과 확인

이 작업에서는 코드를 실행하고 출력이 올바른지 확인합니다.

  1. 코드가 다음과 유사한지 확인합니다.

    string studentName = "Sophia Johnson";
    string course1Name = "English 101";
    string course2Name = "Algebra 101";
    string course3Name = "Biology 101";
    string course4Name = "Computer Science I";
    string course5Name = "Psychology 101";
    
    int course1Credit = 3;
    int course2Credit = 3;
    int course3Credit = 4;
    int course4Credit = 4;
    int course5Credit = 3;
    
    int gradeA = 4;
    int gradeB = 3;
    
    int course1Grade = gradeA;
    int course2Grade = gradeB;
    int course3Grade = gradeB;
    int course4Grade = gradeB;
    int course5Grade = gradeA;
    
    int totalCreditHours = 0;
    totalCreditHours += course1Credit;
    totalCreditHours += course2Credit;
    totalCreditHours += course3Credit;
    totalCreditHours += course4Credit;
    totalCreditHours += course5Credit;
    
    int totalGradePoints = 0;
    totalGradePoints += course1Credit * course1Grade;
    totalGradePoints += course2Credit * course2Grade;
    totalGradePoints += course3Credit * course3Grade;
    totalGradePoints += course4Credit * course4Grade;
    totalGradePoints += course5Credit * course5Grade;
    
    decimal gradePointAverage = (decimal) totalGradePoints/totalCreditHours;
    
    int leadingDigit = (int) gradePointAverage;
    int firstDigit = (int) (gradePointAverage * 10 ) % 10;
    int secondDigit = (int) (gradePointAverage * 100 ) % 10;
    
    Console.WriteLine($"Student: {studentName}\n");
    Console.WriteLine("Course\t\t\t\tGrade\tCredit Hours");
    
    Console.WriteLine($"{course1Name}\t\t\t{course1Grade}\t\t{course1Credit}");
    Console.WriteLine($"{course2Name}\t\t\t{course2Grade}\t\t{course2Credit}");
    Console.WriteLine($"{course3Name}\t\t\t{course3Grade}\t\t{course3Credit}");
    Console.WriteLine($"{course4Name}\t{course4Grade}\t\t{course4Credit}");
    Console.WriteLine($"{course5Name}\t\t{course5Grade}\t\t{course5Credit}");
    
    Console.WriteLine($"\nFinal GPA:\t\t\t {leadingDigit}.{firstDigit}{secondDigit}");
    
  2. 코드를 실행하고 형식이 지정된 출력을 표시하려면 실행을 선택합니다.

  3. 코드가 예상대로 작동하는지 확인하려면 애플리케이션의 출력을 다음 출력과 비교합니다.

    Student: Sophia Johnson
    
    Course              Grade   Credit Hours	
    English 101         4       3
    Algebra 101         3       3
    Biology 101         3       4
    Computer Science I  3       4
    Psychology 101      4       3
    
    Final GPA:          3.35
    

    코드가 다른 결과를 표시하는 경우 코드를 검토하여 오류를 찾고 업데이트해야 합니다. 코드를 다시 실행하여 문제가 해결되었는지 확인합니다. 코드가 예상 결과를 생성할 때까지 코드를 계속 업데이트하고 실행합니다.