티스토리 뷰

도서관리 시스템 고도화(동적메모리)

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

프로그램 설계

1.고도화 개요
  1. 베스트셀러 Top3 도서의 제목을 출력하는 기능
  2. 도서 데이터를 동적할당을 이용하여 저장
2.기능 정의 : 메뉴
  1. 도서 입력
  2. 도서 출력
  3. 도서 검색
  4. 종료
2.기능 정의 : 기능
  1. 도서 입력
  2. 도서 출력
  3. 제목 검색
  4. 저자 검색(검색 기능 키워드 검색)
  5. 출판연도별 목록 출력
  6. 베스트셀러 출력
2.기능 정의 : 고도화 내용
  1. 베스트셀러 Top3 출력
  2. 동적메모리를 할당하여 저장
  3. 연속 입력 기능, 출력 메뉴 연속 사용 기능
2.기능 정의 : 고도화 방법
  1. 베스트셀러 출력 : qsort함수를 이용한 판매수량 정렬
  2. 메모리 공간 활용 : 동적 메모리 할당을 이용한 요구 메모리 축소
  3. 연속 입/출력 : 무한 반복 루프로 구현
3.자료구조 정의 : 자료
  1. 도서명 : char / bookTitle
  2. 저자 : char / bookAuthor
  3. 가격 : int / bookPrice
  4. 판매수량 : int / bookSale
  5. 코드 : char / bookCode(xxxx-xxx)

코드 분석

1.동적 할당

mb = (BOOK*)realloc(mb,sizeof(BOOK)*(cnt-2);

2.베스트셀러 출력

qsort(mb, cnt+1, sizeof(BOOK),compare);

2.연속 입/출력

#include (conio.h)

프로그램 설계

  • 프로그램 개발 시 작업 목표에 맞게 사용할 라이브러리 함수와 자료구조를
    결정해야 함
  • 동적할당은 프로그램 실행 시 할당하는 메모리 공간임
  • 함수포인터를 이용하여 정렬함수를 사용할 수 있음

코드 분석

  • strtok는 토큰을 이용하여 문자열을 분리할 수 있는 함수임
  • strcspn은 특정 문자로 이루어진 문자열인지 검사하는 것이 가능한 함수임
  • strstr은 키워드 검색에 유용한 함수임
댓글
© 2018 webstoryboy