/ JSMN

Open Source Software - Lab mission 10 - Json to my menu structure

Json to my menu structure

1. mymenu.json 만들기

내가 원하는 임의의 메뉴판을 json 형식으로 저장한다. 아래는 내가 원하는 메뉴판을 json 형식으로 저장한 결과이다.

lab10_1

2. mymenu.json 파싱하기

아래의 readjsonfile() 함수를 통해서 내가 위에서 만든 mymenu.json 파일을 파싱하여 읽을 수 있다.

lab10_2

파싱한 결과는 아래와 같이 출력된다.

lab10_3

3. 파싱된 토큰으로 mymenu 구조체 완성

아래의 사진과 같이 makemymenu() 함수를 통해 파싱한 모든 토큰에서 메뉴 정보에 맞춰 메뉴 구조체를 만들고 구조체 포인터에 해당하는 값을 담을 수 있고, 총 메뉴 개수가 몇개인지 세어 그 값을 반환한다.

lab10_4 lab10_5

4. 메뉴 정보 출력하기

아래와 같이 printmenu() 함수를 구현하여 3에서 포인터 배열에 저장한 값을 종류대로 쉽게 꺼내어 메뉴를 출력할 수 있다.

lab10_6 lab10_7

5. 1일 매출 계산 기능 구현 (+추가과제)

아래와 같이 totalorder() 함수를 구현하여 가상으로 1일 매출을 계산하여 볼 수 있다.

lab10_2 lab10_2

함수를 구현한 결과는 아래와 같다.

lab10_2

6. 참고

make를 통한 컴파일을 위해서는 Makefile을 아래와 같이 수정해주어야 한다.

lab10_8