카테고리 없음

김복천국

joo_coding 2025. 3. 27. 21:56
#include <stdio.h>
#include <stdlib.h> // 말록 프리

#define MENU_NUM 48
#define BASKET_SIZE 100

// < 메뉴 구조체 >
typedef struct
{
    int menu_code;
    char menu_name[30];
    int menu_price;

} menu;

void menu_borad(menu *m) // 메뉴 출력 함수
{
    printf("========메뉴판========\n");

    for (int i = 0; i < MENU_NUM; i++)
    {
        printf("%2d %s %d\n", i+1, m[i].menu_name, m[i].menu_price);
        // 가로배치는 별찍기 응용
    }
}

// void menu_plus_basket(int menu_pick, menu *m, menu *basket)
// {

//     int menu_pick; // 메뉴선택
//     printf("\n메뉴를 골라주세요:  \n");
//     scanf("%d", &menu_pick);

//     for (int i = 0; i < 48; i++)
//     {
//         if (menu_pick == i)
//         {
//             printf("%s를 골랐습니다.\n", m[i-1].menu_name);
//             basket += m[i-1]; // 포인터 연산
            
//         }
//     }
// }


/*---------------------main--------------------*/
int main()
{
    //menu empty[] = {0,"빈칸",0};

    menu basket[BASKET_SIZE]; // 장바구니 = 동적할당 말록 프리
    int user_total; // 합계

    //menu_borad(); // 메뉴 가로정렬 테스트 중
    
    // < 메뉴 구조체 >
    
    // 김밥,라면,덮밥,찌개,떡볶이,튀김,기타,음료 (1~8)
    menu all_menu[] = // 코드,이름,가격
    {
        // 1. 김밥 (8)
        {1101,"김밥",3000},
        {1101,"치즈김밥",3500},
        {1101,"참치김밥",3500},
        {1101,"김치김밥",3500},
        {1101,"야채김밥",3000},
        {1101,"소고기김밥",4000},
        {1101,"돈까스김밥",4000},
        {1101,"삼겹살김밥",4500},
    
        // 2. 라면 (7)
        {1201,"라면",3000},
        {1201,"계란라면",3500},
        {1201,"치즈라면",3500},
        {1201,"만두라면",3500},
        {1201,"짬뽕라면",4000},
        {1201,"떡라면",3500},
        {1201,"떡만두라면",4000},
    
        // 3. 덮밥 (9)
        {1301,"제육덮밥",7000},
        {1301,"오징어덮밥",7500},
        {1301,"오징어제육덮밥",8000},
        {1301,"돈까스덮밥",8000},
        {1301,"쇠고기덮밥",8000},
        {1301,"김치덮밥",7000},
        {1301,"김치제육덮밥",7500},
        {1301,"소세지덮밥",7500},
        {1301,"오므라이스",7500},
    
    
        // 4. 찌개 (8)
        {1401,"김치찌개",7000},
        {1401,"된장찌개",7000},
        {1401,"참치김치찌개",7500},
        {1401,"고기듬뿍찌개",8000},
        {1401,"차돌된장찌개",8000},
        {1401,"부대찌개",8000},
        {1401,"동태찌개",8000},
        {1401,"순두부찌개",8000},
    
        // 5. 떡볶이 (6)
        {1501,"떡볶이",5000},
        {1501,"치즈떡볶이",6000},
        {1501,"해물떡볶이",7000},
        {1501,"짜장떡볶이",7000},
        {1501,"라볶이",6000},
        {1501,"치즈라떡볶이",7000},
            
    
        // 6. 튀김 (5)
        {1601,"김말이튀김",4000},
        {1601,"야채튀김",4000},
        {1601,"만두튀김",4000},
        {1601,"고추튀김",5000},
        {1601,"오징어튀김",5000},
            
    
        // 7. 기타 (1)
        {1701,"공기밥",1500},
    
        // 8. 음료수 (4)
        {1801,"콜라",1000},
        {1801,"사이다",1000},
        {1801,"오렌지환타",1000},
        {1801,"파인애플환타",1000},

        // 빈칸
        {0,"빈칸",0}
    
        }; // 총 48개


    printf("[  김복천국 키오스크  ]\n\n");
    printf("[       1. 정산       ]\n");
    printf("[       2. 주문       ]\n");
    printf("[       3. 종료       ]\n\n");

    int main_menu_pick;
    printf("원하시는 업무를 선택하세요.\n");
    scanf("%d", &main_menu_pick);

    switch (main_menu_pick)
    {
    case 1:
        printf("정산을 시작합니다. \n");
        break;

    case 2:
        
        // 메뉴 출력
        {
            menu_borad(all_menu);

            // 주문하기
            int buy_or_not = 1;
            while (buy_or_not == 1) // 2.나가기 하면 끝
            {
                int menu_pick; // 메뉴선택
                printf("\n메뉴를 골라주세요:  \n");
                scanf("%d", &menu_pick);
        
                for (int i = 0; i < 48; i++)
                {
                    if (menu_pick == i)
                    {
                        printf("%s를 골랐습니다.\n", all_menu[i-1].menu_name);
                        
                        for (int j = 0; j < BASKET_SIZE ; j++)
                        {
                            basket[j] = all_menu[i-1];
                            user_total += all_menu[i-1].menu_price;
                            break;
                        }
                        //printf("현재 장바구니: %s\n", basket[i]);
                    }
                }
        
                for (int i = 0; i < 6; i++) 
                {
                    printf("현재 장바구니: ");
                    if (basket[i].menu_name != NULL)
                    {
                        printf("%s\n", basket[i].menu_name);
                    }
                }

                printf("(1)더 주문하기   (2)결제하기\n");
                scanf("%d", &buy_or_not);
            }
            break;
        }
        // 결제하기 - 포장or매장, 현금or카드
        
        
    case 3:
        printf("정산을 시작합니다. \n");
        break;
    
    default:
        break;
    }

    return 0;

}