주의 사항! 이 일지는 작성하고 있는 현시점, 공부와 병행하면서 작성되고 있습니다. 공부 중에 떠오른 생각이나 그때그때의 개념정리 같은 내용이 포함됩니다. 따라서 이 일지의 내용은 제가 공부하고 이해한 대로 작성되기 때문에 실제 사실과는 다를 수 있습니다. 하나의 프로그램을 여러 개의 소스 파일로 나누어 각각 독립적으로 컴파일하면 디버깅하기 쉽고 유지 보수와 코드 재활용에 유리합니다. 분할 컴파일은 하나의 프로그램을 여러 개의 파일로 나누어 작성하면 됩니다. 간단한 예제를 통해 분할 컴파일 방법을 살펴보겠습니다. #include void inputData(int*, int*); double average(int, int); int main(void) { int a, b; double avg; inputD..
주의 사항! 이 일지는 작성하고 있는 현시점, 공부와 병행하면서 작성되고 있습니다. 공부 중에 떠오른 생각이나 그때그때의 개념정리 같은 내용이 포함됩니다. 따라서 이 일지의 내용은 제가 공부하고 이해한 대로 작성되기 때문에 실제 사실과는 다를 수 있습니다. 프로그램은 컴파일 환경을 바꾸거나 여러 개의 모듈로 나누어 작성할 때 이식성과 호환성을 고려해야 합니다. 따라서 컴파일하기 전에 컴파일 환경에 맞게 소스코드를 편집할 수 있는 기능이 필요합니다. 이번 시간에는 그 기능을 담당하는 전처리 지시자의 종류와 기능을 살펴봅니다. 지금까지 코드의 첫 줄에서 항상 사용해온 #include도 전처리 지시자입니다. #include는 꺽쇠괄호 안의 파일의 내용을 읽어와 지시자가 있는 위치에 붙여 넣습니다. 예제를 통해..
출판사 매출관리 프로그램을 만듭니다. 책 제목, 매출 단가 (단위는 만원), 판매 부수(양수는 출고, 음수는 반품)를 저장한 파일에서 데이터를 읽어 도서별 최종 매출액을 출력합니다. 책의 종류는 10개 이하로 가정하며 매출이 가장 높은 책부터 정렬하여 파일로 출력합니다. 책 제목, 매출 단가(단위는 만원), 판매 부수(양수는 출고, 음수는 반품)를 저장한 파일은 "a.txt"이고, 프로그램을 실행한 결과로 생기는 파일은 "b.txt"이며 내용은 다음과 같습니다. a.txt b.txt 해커와 화가 1.62 150 빅데이터 분석 3.2 -15 케스케이팅 완벽 가이드 2.0 80 해커와 화가 1.8 75 알고리즘 트레이닝 2.5 95 안드로이드 프로그래밍 3.15 125 빅데이터 분석 3.2 50 알고리즘 트..
단어 검출 프로그램을 만듭니다. 텍스트 파일에서 등록된 단어 이외의 단어를 찾아 새로운 파일에 출력합니다. 모든 단어의 길이는 최대 20자, 등록 단어 수는 최대 10개로 제한하며 검출 대상 단어 수는 제한이 없습니다. 다음 실행 결과는 b.txt에서 a.txt에 등록되지 않은 단어를 찾아 c.txt에 출력합니다. 실행결과는 다음과 같습니다. a.txt 등록 단어 파일 b.txt 입력 단어 파일 c.txt 결과 파일 dog tiger horse monkey lion koala griaffe owl lion elephant pear dog tiger apple kangaroo orange bear owl elephant pear apple kangaroo orange bear 다음은 제가 작성한 코드입니다..