• 검색 결과가 없습니다.

LAB #10 표준 라이브러리, 파일 입출력

N/A
N/A
Protected

Academic year: 2022

Share "LAB #10 표준 라이브러리, 파일 입출력"

Copied!
19
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

2016년2학기 고급컴퓨터프로그래밍및실습 (36342-02)

LAB #10 표준 라이브러리, 파일 입출력

1

(2)

표준 라이브러리 함수의 사용

<ctype.h>, <stdlib.h>

파일 입출력 (텍스트, 바이너리) 엑셀 파일 작업

실습 내용

2

(3)

문자 분류 함수: <ctype.h> 포함

3

(4)

(실습1) 문자 분류하기

사용자로부터 문자 1개를 입력 받은 후, 그 문자가 ‘알파벳’인지, '숫자’인 지, ‘특수문자’인지 찾아내어 그 결과를 출력하도록 아래 프로그램을 완성 하시오.

4

힌트

isalpha(ch), isdigit(ch) 사용

(5)

데이터 변환 함수: <stdlib.h>나

ctype.h> 포함

5

(6)

(실습2) 호텔 방 사이의 거리 구하기

room1과 room2에 어떤 호텔의 3층 방 번호가 각각 저장되어 있다. 두 방 사이의 거리를 구하여 출력하도록 프로그램을 완성하시오.

6

315 316 317 341

바다

힌트

atoi( ) 사용

(7)

(실습3) 알파벳의 대소문자 구분

영문 이름을 입력 받은 후, 그 이름을 모두 소문자로 또는 모두 대문자로 출력하도록 프로그램을 완성하시오.

7

줄바꿈 표시 (enter 키)가 나올 때까지 읽는다.

힌트: tolower( ), toupper( );

(8)

(실습4) 입력한 알파벳 개수 세기

다음 프로그램은 한 줄에 하나의 문자를 받는다. 입력하는 문자가 n 또는 N 이 나올 때까지 입력을 받으며, 받은 입력 중에 알파벳은 몇 개 인지 세어 그 개수를 출력하도록 프로그램을 완성하시오.

8

실제 입력은 O<enter>p<enter>x<enter> .. 입니다.

입력되는 문자들 중에서 알파벳만 읽어봅시다.

(9)

(실습5) 텍스트 화일 읽기

data1.txt , data2.txt , data3.txt 화일에는 정수 10개가 각각 저장되어 있다.

각 화일에서 숫자들을 읽은 다음, 화면에 다음과 같은 모양으로 출력하는 프로그램을 작성하시오.

9

파일에서 읽기 전에 그 파일들을 열어

파일의 내용을 확인하시오.

(10)

(실습6) 여러 파일 읽고 쓰기

data1.txt , data2.txt , data3.txt 화일에는 정수 10개가 각각 저장되어 있다.

각 화일에서 숫자들을 읽은 다음, result.txt 에 다음과 같은 모양으로 출력 하는 프로그램을 작성하시오.

10

입력용 파일 3개와 출력용 파일 1개를 동시에 열고 작업한다.

(11)

(복습1) 바이너리 파일 입출력

다음 프로그램을 실행시켜 보면서 프로그램의 내용을 이해하시오.

11

계속 바이너리형태로 쓰기

파일 닫기

(12)

(복습1) 바이너리 파일 입출력

12

정수 10개가 들어 있는 배열을 fp 가 가리키는 파일에서 읽어 배열 arr2[10] 에 저장한다.

배열 arr2[10]에 저장되어 있는 내용을 확인하기 위해 우리가 알아볼 수 있는 포맷으로 (%d) 화면에 (stdout) 출력해 본다.

(13)

(실습7) 변수들의 바이너리 입출력

다음을 순서대로 실행하는 프로그램을 작성해 보시오.

(1) 정수 변수 a, b, c 를 선언하고 각각 10, 20, 30으로 초기화한다.

(2) 이 변수들을 하나씩 바이너리 형태로 outfile.dat 에 저장한다.

(3) 제대로 저장이 되었는지 알아보기 위해 outfile.dat 에 저장한 값들을 순서대로 정수 변수 x, y, z 에 읽어들인다.

(4) 변수 x, y, z 의 값들을 다음 그림과 같이 화면에 출력해 본다.

13

(14)

(실습8) 구조체의 바이너리 입출력

다음을 순서대로 실행하는 프로그램을 작성해 보시오.

(1) 학생 구조체를 선언한다. 이 구조체에는 이름, 학년, 점수가 각각 Name[20], year, score 에 저장된다.

(2) main( ) 에서 학생 3명 s1, s2, s3을 선언하고 임의로 초기화 한다.

(3) 학생 3명의 정보를 각각 바이너리 형태로 student.dat 화일에 쓴다.

(3) 제대로 저장이 되었는지 알아보기 위해 student.dat 에 저장한 학생 정보를 학생 구조체 t1, t2, t3에 읽어들인다.

(4) t1, t2, t3 에 저장된 학생 정보를 아래 그림과 같이 화면에 출력해 본다.

14

Lab10 – p8 - base.txt 참고

(15)

(실습9) 구조체 배열의 바이너리 입출력

실습 8에서 student 구조체를 선언하였다. main( ) 에서 학생 3명의 정보를 담을 수 있는 구조체 배열을 선언하고, 실습4에서와 같은 정보를 배열이 담 는다.

이제 학생 구조체 배열을 바이너리 파일인 student2.dat 파일에 한꺼번에 쓴다.

student2.dat 화일에 저장된 정보를 또 하나의 학생 정보를 담는 구조체 배 열에 저장하고, 잘 저장이 되었는지 화면에 값들을 출력해 본다.

15

Lab10 – p9 - base.txt 참고

(16)

(실습10) 행렬의 덧셈

matrix.txt 파일에 4x4 행렬이 두 개 들어 있다. 이 두 행렬을 a[4][4] 와

b[4][4] 에 읽어 들인 후, 두 행렬을 더하여 행렬 c[4][4]에 저장하시오. 그 다 음에 c[4][4]를 화면에 출력하시오.

16

입력 파일 출력 파일

(17)

(실습11) 매크로 함수의 이해

다음 프로그램을 실행하고, 출력 결과를 이해하시오.

(참고) #define 으로 정의되는 매크로 함수의 파라미터 대치는 “의미를 고 려하지 않은 채, “문자열 대치”에 해당한다.

COMP1과

COMP2의 기능을 이해하시오.

17

(18)

(실습12) 엑셀 파일 읽기

엑셀 파일에 다음과 같이 저장하고, 이 파일을 공백으로 분리된 prn 파일로 저장한다. 이 파일로부터 숫자들을 읽어 그 모양 그대로 화면에 출력해 보 시오.

18

(19)

(실습13) 텍스트 파일  엑셀에서 읽기

다음과 같은 텍스트 파일을 엑셀에서 열어 보시오.

19

일정한 간격으로 분리되어 있다는 점을 사용하여 읽기

참조

관련 문서

[r]

[r]

[해설] 가구당 컬러TV 대수로 정의되는 X의 각 값이 가지는 확률은 상대도수에 의해 계산되는데, X의 각 값에 해당하는 빈도를 총 가구 수로 나누면 다음과 같은 확률분포를 얻어진다.

그러나 WLS는 다음과

본 방식은 Data Entity의 층에서 정보 통합화를 위한 데이터의 정의와 Target 시스 템과의 표준 Adapter를 통하여 전송하므로 각 시스템의 기능 독립적 업

① 콘텐츠 공유 창에서 PDF와 같은 파일 및 필기 화면을 공유하는 화이트보드 공유 기능을 지원합니다. ② 화이트보드 공유 시 교수자의 필기 화면이 다음과 같이

세 개의 CandyBar 구조체를 원소로 가지는 배열을 만들고, 그 배열의 구조체 원소들을 원하는 값으로 초기화한 다음, 각 구조체의

ios_base::beg 파일의 처음 위치를 기준으로 새로운 위치로 이동 ios_base::cur 파일의 현재 위치를 기준으로 새로운 위치로 이동 ios_base::end 파일의