(자료구조)링크드리스트/linked list 프로젝트- 음식과 칼로리 데이터 관리 프로그램
- 최초 등록일
- 2021.05.05
- 최종 저작일
- 2020.12
- 압축파일
- 가격 3,000원
소개글
Linked list를 이용하여 음식의 칼로리를 관리하는 프로그램을 구현했습니다
카테고리별로 음식의 종류를 double linked list로 구별하고, 음식과 칼로리를 linked list로 관리합니다
● 주요 함수는 다음과 같습니다.
- LOAD() : input.txt를 열어 각각의 데이터를 읽는다. 만약 데이터가 하나도 없으면 그에 맞는 에러를 출력한다. 텍스트 파일을 읽고 난 후 노드로 만든다. 중복된 데이터가 있는지 확인하고 없으면 노드를 삽입한다. 만약 있으면 에러 메세지를 출력한다. LOAD함수는 들어온 데이터를 카테고리 별로 아래로 탐색하다가 일치하는 카테고리를 찾으면 옆으로 이동하여 칼로리 기준으로 오름차순 위치에 데이터를 삽입한다. 만약 데이터의 kcal가 같으면 알파벳 순으로 삽입한다.
- PRINT()
LINKED LIST안에 연결 되어있는 모든 노드들의 데이터를 출력한다. 완전탐색을 이용하여 LINKED LIST전체의 데이터들을 거치며 출력한다.
- INSERT()
사용자가 직접 카테고리 메뉴 칼로리 순으로 타이핑하여 데이터를 삽입한다. 입력한 데이터는 노드로 만들고 난 후 중복 여부를 거쳐 LOAD함수를 실행하여 노드를 삽입한다.
- Cate_Search()
찾고자 하는 카테고리 검색 후 카테고리에 속하는 칼로리와 메뉴 이름 출력한다. 데이터가 존재하지 않을 시 에러 메세지를 출력한다. 함수 인자에 들어온 노드의 카테고리와 LINKED LIST안의 카테고리를 비교하여 일치한 카테고리의 데이터를 전부 출력한다.
- Menu_Search()
찾고자 하는 메뉴 검색 후 칼로리와 메뉴 이름 출력한다, 데이터가 존재하지 않을 시 에러 메세지를 출력한다. 함수 인자에 들어온 노드의 메뉴와 LINKED LIST안의 메뉴를 비교하여 일치한 메뉴의 데이터를 출력한다.
- DELETE()
삭제하고자 하는 메뉴를 입력 후 삭제를 진행한다. 데이터가 존재하지 않을 시 에러 메세지를 출력한다. 사용자가 입력한 데이터와 LINKED LIST와 일치하는 데이터를 찾아 삭제를 진행한다.
- EXIT()
텍스트 파일 닫은 후 프로그램 종료
● 예외처리 완료
● input.txt를 수정하여 원하는 데이터로 바꿀 수 있습니다. 각 속성은 \t으로 구분합니다
● 코드는 복사하여 사용하는 것을 추천드립니다
● 간략하게 주석 작성했습니다
● input.txt는 사용하실 코드의 위치(디렉토리)에 넣어야 인식합니다. 워드에 사진 첨부했습니다
ex) visual studio를 사용하는 경우
C:\사용자\사용자\source\repos\본인프로젝트경로\본인프로젝트경로(.c파일과 같은 위치)
● 구성 - input.txt, report.docx, source.c
● 프로젝트에 자세한 사항은 워드로 작성하여 같이 첨부하였습니다
워드의 내용은 다음과 같습니다
1. introduction - 프로젝트의 소개 및 설명
2. flow chart - 프로젝트의 흐름도
3. algorithm - 사용한 함수의 알고리즘 설명
4. result screen - 결과 화면 사진 및 설명
컴파일 실행환경
Zip archive data
압축파일 내 파일목록
algorithm.png
input.txt
report.docx
source.c
참고 자료
없음