[화일처리론]순차화일구현

이미지
준비중입니다.
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
자료 다운로드  네이버 로그인
소개글
[화일처리론]순차화일구현에 대한 자료입니다.
목차
1. 알고리즘
2. 순서도
3. 프로그램 실행화면
4. 실행방법
5. 프로그램 소스
본문내용
순차화일을 프로그램언어로 구현(구현언어 C++)
입출력화일은 마스터화일과 트랜젝션화일 두개를 사용하였음.
(마스터화일 : list.mst, 트랜젝션화일 : list.tra)
프로그램 시작과 동시에 파일포인터를 얻어서 마스터화일과 트랜젝션화일을 OPEN한다.
사용자로부터 메뉴 선택을 요구한다.
(1.리스트출력, 2.검색, 3.수정, 4.마스터화일갱신 생성, 5.종료)

1. 리스트출력
마스터 파일에 있는 자료를 읽어서 목록을 화면에 보여준다.

2. 검색
사용자로부터 검색할 번호를 입력받는다.
트랜젝션에 있는 자료가 최신의 것이라고 가정하고 검색은 트랜젝션부터 검색한다
만일 트랜젝션에 찾고자하는 번호와 일치하는 자료가 있다면 화면에 출력하고 검색종료
트랜젝션에서 찾지 못했다면 마스터에서 검색한다. 자료가 있으면 출력 없으면 메세지
출력후 종료. 트랜젝션 검색시 삭제기호 표시자료는 제외

3. 수정
추가적으로 사용자에게 메뉴 선택을 요구한다
(1.삽입, 2.수정, 3.삭제)
1. 삽입
번호, 이름, 전공, 전화번호, 주소, 생일 순으로 사용자에게 입력을 받고
트랜젝션 맨 아래줄에 추가, 단 삽입이라는 기호 별도 표시
2. 수정
사용자에게 수정할 자료의 번호를 입력 받는다.
입력받은 번호가 마스터에 존재하지 않을 경우 메세지 출력후 종료
입력받은 번호가 마스터에 존재할 경우 사용자의 편의를 위해 자료 내용을 화면에 출력
번호는 기본키이므로 변경 불가 이름, 전공, 전화번호, 주소, 생일 순으로 입력받는다
트랜젝션 맨 아래줄에 추가, 단 수정이라는 기호 별도 표시
3. 삭제
사용자에게 삭제할 자료의 번호를 입력 받는다.
입력받은 번호가 마스터에 존재하지 않을 경우 메시지 출력후 종료
입력받은 번호가 마스터에 존재할 경우 트랜젝션 맨 아래줄에 추가
삭제라는 기호 별도 표시

4. 마스터화일갱신
t_list(임시적인 자료저장만을 위해 만든 클래스) 클래스의 배열객체를 두개 만들어서 현재
마스터화일에 있는자료를 모두 저장한다.(편의상 배열객체1, 배열객체2)
미러링방식 사용 두개의 저장공간을 한 트랜젝션 레코드의 처리가 끝날때마다 같게 유지
트랜젝션에서 한 레코드씩 읽어온후 삽입, 수정, 삭제를 판별한다
삽입 : 트랜젝션에서 읽어온 레코드의 번호값을 배열객체1 과 비교한다
먼저 순차적으로 배열객체1의 모든 번호와 비교후 같은값이 있다면 수정이므로
플래그변경후 종료
배열객체1의 맨 앞의 번호보다 작다면 배열객체1의 맨앞에 삽입 배열객체1의
두 번째부터 배열객체2의 맨앞 자료를 복사
배열객체1의 맨 뒤보다 크다면 배열객체 맨뒤 다음에 레코드 삽입
그 외의 경우는 배열객체의 중간에 있는 경우이므로 번호값이 중간인 위치를
판별한후 트랜젝션 레코드를 배열객체1의 중간위치에 삽입
배열객체1의 다음 자료부터 배열객체2의 자료 복사
수정 : 트랜젝션의 번호값을 배열객체1의 번호와 비교
같은번호를 검색하면 트랜젝션의 레코드를 배열객체1에 복사
삭제 : 트랜젝션의 번호값을 배열객체1의 번호와 비교
같은번호를 검색하면 배열객체1의 해당 레코드부터 배열객체2의 다음 레코드 자료를
복사한다

5. 종료
파일포인터를 닫고 프로그램 종료
트랜젝션화일과 마스터화일의 자료는 저장되어있음.
하고 싶은 말
화일처리론에서 순차화일을 C++로 구현한 자료입니다.
주석은 알아보기 편하게 최대한 많이 달아놓았습니다.
프로그램 실행화면, 알고리즘, 실행방법등 친절하게 설명되어 있습니다.