주소록 관리 시스템
학습내용
- 프로그램 설계
- 코드분석
학습목표
- 목표로 하는 시스템에서 요구되는 자료구조를 설계할 수 있다.
- 사용 가능한 라이브러리 함수를 개발에 적용할 수 있다.
프로그램 설계
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
'국비지원 학원 - JAVA기반 스마트앱 개발2021 > 프로그래밍 언어활용' 카테고리의 다른 글
게임 프로젝트 (0) | 2021.08.10 |
---|---|
변환.랜덤 라이브러리 (0) | 2021.08.10 |
시간 관련 라이브러리 (0) | 2021.08.09 |
도서관리 시스템 고도화(파일처리) (0) | 2021.08.08 |
파일 입출력 라이브러리(응용) (0) | 2021.08.08 |
댓글
이 글 공유하기
다른 글
-
게임 프로젝트
게임 프로젝트
2021.08.10 -
변환.랜덤 라이브러리
변환.랜덤 라이브러리
2021.08.10 -
시간 관련 라이브러리
시간 관련 라이브러리
2021.08.09 -
도서관리 시스템 고도화(파일처리)
도서관리 시스템 고도화(파일처리)
2021.08.08