2016년2학기 고급컴퓨터프로그래밍및실습 (36342-02)
LAB #11 고급 기능
1
조건부 컴파일
명령 인수 (command line arguments)
분할 컴파일과 헤더 파일 만들기
#pragma once 또는 ifndef를 사용한 헤더 파일 중복 피하기
실습 내용
2
(실습1) 조건부 컴파일 (1/2)
3
p1(base) 프로그램은 a, b, sum 값을 출력한다. DEBUG 가 정의되어 있으면 (a)와 같이 출력하고, 그렇지 않으면 (b)와 같이 sum 값만 출력하도록 프로 그램을 수정해 보시오.
(a) DEBUG 가
정의 되어 있는 경우 (b) DEBUG 가
정의 되지 않은 경우
(실습1) 조건부 컴파일 (2/2)
4
앞서 작성한 프로그램을 다음과 같이 수정해 보시오.
프로그램 2
DEBUG 가 1로 정의되어 있는 경우, 그림 (a)와 같이 출력하시오.
프로그램 3
DEBUG가 1이면 a의 값을 출력하고
DEBUG가 2이면 b의 값을 출력하고
DEBUG가 그 이외의 값이면 sum을 출력하도록 하시오.
(실습2) 명령 인수를 활용 계산기
5
다음은 명령행에서 받은 두 인자 (문자열) 를 숫자로 변환한 후, 그 값들을 더하여 출력하는 프로그램이다. 이 프로그램을 작성하고 실행시켜 보시오.
(1) 프로젝트 이름을 Calc로 하시오.
(2) Calc.exe 파일을 실행시킬 때 확장자인 exe 는 생략해도 된다.
콘솔 창에서 직접 실행하는 경우
(실습2) MS Visual Studio 에서 실행하는 경우
명령 인수 (command line arguments 정의하기)
6
Calc
(실습3) 파일 내용 화면에 출력해 보기
명령 인수로 파일 이름이 주어지면 그 파일의 내용을 있는 그대로 화면에 출력해 주는 프로그램을 작성하시오.
(힌트) 프로그램에서 할 일은 파일에서 한 글자씩 (%c로) 읽은 후, 그 글자 를 그대로 (%c로) 화면에 출력하는 것이다.
7
파일 화면 출력
(실습4) 분할 컴파일
프로그램이 여러 파일에 나뉘어 저장되어 있는 경우, 파일 사이의 정보 공 유를 위해 헤더 파일을 사용한다.
복습: 강의 노트 ACPL 13장의 31, 32, 34, 39, 45, 52쪽을 먼저 읽어본다.
1단계
ACPL Lab11 – p4(base).txt 프로그램을 실행시켜 보시오.
2단계
이 프로그램을 분할하여 p1.c 에는 main( )만을 저장하고, 남은 부분은 모두 p2.c 에 저장한 후, 헤더 파일을 만들어 프로그램의 빌드와 실행에 문제가 없도록 해 보시오.
3단계
헤더 파일이 중복되어 include 되지 않도록 하는 기능을 추가 하시오.
즉, ACPL 13장의 52쪽과 같이 되도록 하려는 것임.
8