학습내용

  • 프로그램 설계
  • 코드분석

학습목표

  • 목표로 하는 시스템에서 요구되는 자료구조를 설계할 수 있다.
  • 사용 가능한 라이브러리 함수를 개발에 적용할 수 있다.

 

프로그램 설계

1. 프로그램 개요

 - 주소록 관리를 위하여 파일에 보관되며 검색 / 수정 / 삭제가 가능한 시스템 구현

 - 프로그램 구현 시 처리 대상 자료 : 이름 / 나이/ 생년월일 / 전화번호 / 주소

 

2. 기능 정의

 1) 메뉴

  - 주소록 보기 / 등록, 검색 / 수정, 삭제 / 종료

 

 2) 기능

  (1) 주소록 입력

  (2) 주소록 출력

  (3) 주소록 검색

  (4) 나이 자동계산

 

 3) 요구사항

  (1) 메뉴 방식으로 작업 선택

  (2) 보안을 위하여 이진 파일로 데이터 저장

  (3) 출생연도 입력 시 나이 계산 자동으로 입력

  (4) 이름순 전체 출력

  (5) 이름 검색 후 출력, 수정, 삭제

 

3. 자료구조 정의

항목 구분 내용
이름 char name
전화번호 char phone
출생연도 int birth
나이 int age
주소 char addr

 

코드 분석

1. 입력 검증

  - 데이터를 입력하지 않고 넘어가는 경우를 검사

 

  - 숫자 입력인지 확인

 

  - 전화번호 양식 확인

 

2. 나이 계산

 

3. 입력 검증

  - 이전 데이터 파일 쓰기

 

4. 파일 읽기

  - 이전 데이터 파일 쓰기

 

5. 데이터 수정

 

6. 데이터 삭제

 

 

학습정리

 

1. 프로그램 설계

  • 유효성 검사를 위하여 다양한 라이브러리 함수를 사용할 수 있음
  • 프로그램의 기능 수행을 위한 요구분석을 주의 깊게 수행해야 함
  • 현재 시간 등을 반환하는 함수로 time 함수를 이용할 수 있음
  • 이진 파일의 입출력은 fread, fwrite를 이용한다 할 수 있음

 

2. 코드 분석

  • 검색 문자의 위치를 찾을 수 있는 함수 : strchr
  • 문자열의 길이를 반환하는 함수 : strlen
  • 현재 시간 정보를 얻을 수 있는 함수 : time
  • 이진 파일의 읽기와 쓰기에 이용하는 함수 : fread, fwrite