JAVA기반 스마트웹 개발2021/프로그래밍 언어활용
도서관리 시스템 고도화(동적 메모리)
Victory_Heo
2021. 8. 8. 18:08

도서관리 시스템 고도화(동적메모리)
목표로 하는 시스템에서 요구되는 자료구조를 설계할 수 있다.
사용 가능한 라이브러리 함수를 개발에 적용할 수 있다.
프로그램 설계
1.고도화 개요
- 베스트셀러 Top3 도서의 제목을 출력하는 기능
- 도서 데이터를 동적할당을 이용하여 저장
2.기능 정의 : 메뉴
- 도서 입력
- 도서 출력
- 도서 검색
- 종료
2.기능 정의 : 기능
- 도서 입력
- 도서 출력
- 제목 검색
- 저자 검색(검색 기능 키워드 검색)
- 출판연도별 목록 출력
- 베스트셀러 출력
2.기능 정의 : 고도화 내용
- 베스트셀러 Top3 출력
- 동적메모리를 할당하여 저장
- 연속 입력 기능, 출력 메뉴 연속 사용 기능
2.기능 정의 : 고도화 방법
- 베스트셀러 출력 : qsort함수를 이용한 판매수량 정렬
- 메모리 공간 활용 : 동적 메모리 할당을 이용한 요구 메모리 축소
- 연속 입/출력 : 무한 반복 루프로 구현
3.자료구조 정의 : 자료
- 도서명 : char / bookTitle
- 저자 : char / bookAuthor
- 가격 : int / bookPrice
- 판매수량 : int / bookSale
- 코드 : 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은 키워드 검색에 유용한 함수임