UNIX System Programming by Yang-Sae Moon
Page 1
Homework #7 (1/4)
다음 프로그램을 작성하고 , 프로그램과 실행 결과를 함께 제출한다 .
1. 강의노트 10 의 함수 fopen(), fclose(), fgets(), fputs() 를 사용하여 다음 프로그 램을 작성하시오 .
학번이 짝수이면 , 입력 파일의 홀수 줄 만을 출력 파일에 저장한다 . (fcopy.c 활 용 )
예를 들어 , 입력 파일이
This is a test file.
I am going to Seoul.
I am an expert in LINUX.
Kangwon National University 라면 , 출력 파일은
This is a test file.
I am an expert in LINUX.
가 되도록 하는 프로그램을 작성한다 .
학번이 홀수이면 , 입력 파일의 짝수 줄만을 출력 파일에 저장한다 .
File I/O
UNIX System Programming by Yang-Sae Moon
Page 2
Homework #7 (2/4)
다음 두 문제는 강의 노트 11 의 함수 (open(), read(), write() 등 ) 를 사용 한다 .
2. 파일에 직각이등변삼각형을 출력하는 프로그램을 작성하시오 .
가로 및 세로 길이는 동일하게 한다 .
예를 들어 , 길이 20 인 직각 이등변 삼각형의 모양은 다음과 같아야 한다 .
$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$
...
$$
$
주의 : 반드시 open(), read(), write() 등을 사용해야 한다 .
보너스 문제 ( 가산점 부여 ): 다음과 같은 트리를 출력하는 프로그램을 작성하시오 . $$
$$$$
$$$$$$
...
$$$$$$$$$$$$$$$$$$
$$
$$
File I/O
UNIX System Programming by Yang-Sae Moon
Page 3
Homework #7 (3/4)
3. 실수 20 개를 생성하여 파일에 저장하고 , 이를 읽어서 출력하는 프로그램을 작 성하시오 . (read_num.c 및 write_num.c 활용 )
실수는
(double)rand()/(double)rand()
와 같이 생성할 수 있다 . ( 주의점 : 분모는 0 이 되어서는 안 된다 .)
생성하는 파일 이름은 “자신학번 .bin” 으로 한다 .
File I/O
UNIX System Programming by Yang-Sae Moon
Page 4
Homework #7 (4/4)
4. 파일을 읽어 소문자를 모두 대문자로 변경하는 프로그램을 다음 지시에 따라 작 성하시오 .
예를 들어 , 입력 파일이
This is a test file.
I am going to Seoul.
라면 , 출력 파일은
THIS IS A TEST FILE.
I AM GOING TO SEOUL.
가 되도록 하는 프로그램을 작성한다 .
(1) fopen(), fclose(), fgets(), fputs() 를 사용하여 프로그램을 작성 한다 .
(2) open(), read(), write() close() 를 사용하여 프로그램을 작성한다 .
과제 제출 : 5 월 6 일 ( 수 ) – 온라인 ( 이루리 ) 제출
File I/O