[머구리씨] C언어-10-1.출력서식의 필드폭 적절히 조절하기 과제 풀이
HTML-код
- Опубликовано: 22 дек 2024
- 안녕하세요. 머구리씨입니다.
지난 시간 과제를 풀어보도록 하겠습니다.
결과 화면인데요. 이 화면을 출력하는 코드를 작성하면 되는데요. 한 번 살표보도록 하겠습니다.
총 세 개의 필드가 있습니다.
이름, 전공학과, 학년필드죠~
다음 각 필드의 자릿수를 확인하겠습니다.
어디를 보면 알 수 있나요? 그렇죠~ 여기 =(equal)표시로 타이틀 행과 값 행을 구분했는데요. 각 필드 구분자의 자릿수를 확인하면 되겠죠~
이름 컬럼은 구분자가 몇 개인가요? 8개죠
전공학과 컬럼은 14개의 구분자가 있습니다.
마지막으로 학년은 5개의 구분자가 있습니다.
그리고, 각 구분자 사이에는 공백이 한 개씩 있습니다.
그래서 결론적으로 첫 번째 제목 필드의 자릿수를 세어보면 이렇습니다.
이름 컬럼 8칸, 공백 1칸, 전공학과 컬럼14칸, 공백 1칸, 학년 컬럼 5칸입니다.
자 이 중에서 이름 컬럼만 정렬이 왼쪽정렬입니다. 나머지는 오른쪽정렬이죠
분석이 끝났으니 이제 출력을 하겠습니다. 출력은 무조건 행우선입니다. 열을 먼저 출력할 수는 없다는 얘기입니다.
따라서 먼저 첫 행인 타이틀 부분을 출력해야 합니다.
서식문자 지정을 하면
먼저 이름 컬럼보겠습니다.
문자열이니까? %s, 자릿수가 8개이니까 사이에 8을 넣어주겠죠, 왼쪽정렬이니까? 자릿수를 음수처리해야 해서 -8로 변경합니다.
다음에 공백이 한 칸 있습니다. 스페이스바로 공백 만들어주구요.
전공학과 컬럼도 문자열이죠. %s 해주구요. 자릿수가 14개니까 사이에 14 넣어줍니다.
또, 공백 한 칸을 스페이스바로 만들어줍니다.
학년 컬럼 5자리 문자열이니까. %5s 라고 적어주면 되구요.
이행의 마지막에 줄바꿈 \t를 넣어서 다음행 출력을 준비해주면 타이틀 행은 끝나겠습니다.
이제 구분자는 이름 컬럼부터 equal 8개, 공백 1칸, equal 14개, 공백 1칸, equal 5개 줄바꿈 하면 됩니다.
이제 데이터를 넣어주면 됩니다. 출력 서식은 타이틀과 똑같죠~, 그대로 복사해서 붙여넣기 하구요. 출력할 값들만 변경하겠습니다. 붙여넣기 2번 정도 더해서 레코드를 3개를 만들구요. 값만 변경하면 완성입니다.
Printf()함수의 큰따옴표 안에 있는 내용은 모두 그대로 출력이 된다고 생각하면 됩니다. 공백을 포함해서요. 단, 서식문자나 제어문자가 있는 경우에는 해당 기능을 수행해서 출력이 됩니다.
감사합니다.