Presentation is loading. Please wait.

Presentation is loading. Please wait.

문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,

Similar presentations


Presentation on theme: "문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,"— Presentation transcript:

1 문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호, hwlee@inje.ac.kr

2 한영 사전 프로그램을 작성하시오. 사용자가 입력한 한글 단어에 대한 영어단어를 출력하도록 하시오.
입력한 단어가 사전에 없으면 “없음”이라고 출력하도록 하시오. 사용자가 “종료”라는 단어를 입력할 때 까지 반복하도록 하시오. 사전의 크기를 나타내는 DIC_SIZE 라는 매크로를 작성하여 10으로 지정하여 사용하 시오. 사용자가 입력한 단어를 사전에서 찾아서 해당하는 단어의 위치(첨자)를 돌려 주는 함수 get_word() 라는 함수를 작성하여 사용하시오. 단어가 없는 경우는 -1 을 돌려 주도록 하시오.

3 사전의 구조 첨자 한글 단어 영어단어 학교 school 1 남자 man 2 거울 mirror 3 사랑 love 4 대학교
학교 school 1 남자 man 2 거울 mirror 3 사랑 love 4 대학교 university 5 도시 city 6 세계 world 7 축구 soccer 8 야구 baseball 한글 단어를 저장하는 배열 영어 단어를 저장하는 배열

4 알고리즘 : main 다음을 무한히 반복한다. 찾을 단어를 입력하라는 메시지를 출력한다. 표준출력 버퍼를 비운다.
사용자가 입력한 단어를 받아들인다. 표준 입력 버퍼를 비운다. 입력한 단어가 “종료”이면 반복을 종료 한다. 입력한 단어가 사전에 있으면 그 위치를 찾는다.(get_word) 돌려준 값이 -1 이면 “없음” 이라고 출력한다. 아니면 돌려준 첨자에 해당하는 영어단어를 출력한다. 표준 출력 버퍼를 비운다.

5 필요한 변수 : main 한글 단어를 저장한 문자형 포인터 배열(koreans)
영어 단어를 저장한 문자형 포인터 배열(english) 사용자가 입력한 단어를 저장할 문자배열 변수(word) 입력한 단어가 사전에 존재하는 위치를 저장한 정수 변수(index)

6 알고리즘 : get_word 매개변수 리턴 값 사용자가 입력한 문자배열(w[])
정수( -1 : 사전에 단어가 없음, n : 단어의 사전에서의 위치)

7 알고리즘 : get_word i를 0부터 DIC_SIZE-1까지 1씩 증가 시키면서 다음을 반복한다. -1을 리턴한다.
w 가 koreans[i] 와 일치하면 i를 리턴한다. -1을 리턴한다.

8 프로젝트 생성 프로젝트명 입력 : dictionary Empty Project 선택 Cygwin GCC 콤파일러 선택
생성된 빈 프로젝트

9 소스 작성(1) main 함수 소스파일명 입력 : dictionary.c dictionary.c

10 소스 작성(2) main 함수 소스수정 생성된 빈 소스 파일 실행프로그램이 되기 위한 최소 내용이 추가된 소스 파일
dictionary.c dictionary.c hangman.c 소스수정 생성된 빈 소스 파일 실행프로그램이 되기 위한 최소 내용이 추가된 소스 파일

11 소스작성(3) main 함수 사전의 크기를 지정하는 매크로 상수 DIC_SIZE 정의 한글 단어를 저장하는 포인터 배열
영어 단어를 저장하는 포인터 배열 main 함수에서 호출할 함수의 원형 선언 입력한 문자열을 저장하는 배열 변수 선언 단어의 사전에서의 위치를 저장하는 변수 선언 무한히 반복한다 단어를 입력하라는 메시지 출력 단어를 받아들여서 word에 저장한다. 문자열에서 끝에 있는 ‘\r’을 삭제한다. 문자열이 “종료”이면 반복을 종료한다. 입력한 단어가 사전에 있는지 확인한다. 있으면 찾은 단어를 출력한다. 없으면 없다는 메시지 출력한다.

12 소스작성(4) get_word 함수 찾아야할 문자배열 매개변수 반복문을 위한 지역 변수 선언
단어가 있으면 위치 값을 리턴한다. 사전에서 매개변수로 받은 문자열이 있는지를 판단하는 반복문 앞에서 작성한 main함수에 이어서 작성한 get_word 함수 이 함수는 문자열이 사전에 있는지를 확인한다.

13 Love gets(word) gets() 함수의 동작 strlen(word)  5 word strlen(word)-1 L o
\0 gets(word) strlen(word)-1

14 소스작성(6) 전체 소스

15 실행 하기 소스 저장 프로젝트 빌드 프로그램 실행

16 프로그램 실행 예 이 곳을 클릭하여 커서를 이곳으로 옮긴 후에 단어를 입력할 것 실행시 주의 할 점
한글을 입력할 때에는 반드시 입력할 위치를 한번 클릭한 후에 한글 입력을 해야 한다. 그렇지 않을 경우에는 동작을 보장할 수 없다.


Download ppt "문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,"

Similar presentations


Ads by Google