본문 바로가기
C_language

[미션] 무인 편의점 결제 시스템 만들기

by 헬로제이콥 2026. 2. 2.

🥤 [미션] 무인 편의점 결제 시스템 만들기문제 상황: 
편의점에 1번 콜라(1500원), 2번 사이다(1200원), 3번 과자(2000원)가 있어. 
사용자가 가진 돈과 메뉴 번호를 입력했을 때, 
돈이 충분하면 "구매 성공"을, 부족하면 "잔액 부족"을 알려주는 프로그램을 만들어보자!

🖥️ 출력 결과 예시 (Output)

컴퓨터 화면에는 사용자가 입력하는 값에 따라 아래와 같이 나타날 거야.

1. 돈이 충분할 때 (구매 성공)

현재 가진 돈을 입력하세요: 3000

    --- 메뉴판 ---

  1. 콜라 (1500원)
  2. 사이다 (1200원)
  3. 과자 (2000원) 번호를 선택하세요: 1

    구매 성공! 남은 돈은 1500원입니다. 💳

2. 돈이 부족할 때 (잔액 부족)

현재 가진 돈을 입력하세요: 1000

--- 메뉴판 ---

  1. 콜라 (1500원)
  2. 사이다 (1200원)
  3. 과자 (2000원) 번호를 선택하세요: 3


잔액이 부족합니다! 1000원이 더 필요해요. ❌


💡 이 문제를 풀기 위한 3가지 힌트!

1. "주머니(변수)"를 먼저 준비하세요

프로그램이 시작될 때 3가지 정보가 필요해.

  • 사용자가 넣은 돈 (money)
  • 사용자가 선택한 번호 (choice)
  • 선택한 물건의 가격 (price)

힌트: 처음 시작할 때 int price = 0; 처럼 가격을 0으로 만들어두면 나중에 계산하기 편해!

 

2. switch문은 '가격표' 역할을 해요

switch문 안에서 계산을 다 하려고 하지 마. 대신, 선택된 번호에 맞는 가격만 price 변수에 쏙 넣어주는 역할로만 사용해봐.

  • case 1: 이면 price = 1500;
  • case 2: 이면 price = 1200;

주의: break;를 빼먹으면 콜라를 골랐는데 과자 가격으로 바뀔 수 있으니 조심해!



#include <stdio.h>

int main() {
    int money, choice;
    int price = 0;

    printf("현재 가진 돈을 입력하세요: ");
    scanf("%d", &money);

    printf("--- 메뉴판 ---\n");
    printf("1. 콜라 (1500원)\n2. 사이다 (1200원)\n3. 과자 (2000원)\n");
    printf("번호를 선택하세요: ");
    scanf("%d", &choice);

    // 1. switch문으로 가격 결정
    switch (choice) {
        case 1: price = 1500; break;
        case 2: price = 1200; break;
        case 3: price = 2000; break;
        default:
            printf("잘못된 번호입니다.\n");
            return 0; // 프로그램 종료
    }

    // 2. if~else문으로 구매 가능 여부 판단
    if (money >= price) {
        printf("구매 성공! 남은 돈은 %d원입니다. 💳\n", money - price);
    } else {
        printf("잔액이 부족합니다! %d원이 더 필요해요. ❌\n", price - money);
    }

    return 0;
}