🥤 [미션] 무인 편의점 결제 시스템 만들기문제 상황:
편의점에 1번 콜라(1500원), 2번 사이다(1200원), 3번 과자(2000원)가 있어.
사용자가 가진 돈과 메뉴 번호를 입력했을 때,
돈이 충분하면 "구매 성공"을, 부족하면 "잔액 부족"을 알려주는 프로그램을 만들어보자!
🖥️ 출력 결과 예시 (Output)
컴퓨터 화면에는 사용자가 입력하는 값에 따라 아래와 같이 나타날 거야.
1. 돈이 충분할 때 (구매 성공)
현재 가진 돈을 입력하세요: 3000
--- 메뉴판 ---
- 콜라 (1500원)
- 사이다 (1200원)
- 과자 (2000원) 번호를 선택하세요: 1
구매 성공! 남은 돈은 1500원입니다. 💳
2. 돈이 부족할 때 (잔액 부족)
현재 가진 돈을 입력하세요: 1000
--- 메뉴판 ---
- 콜라 (1500원)
- 사이다 (1200원)
- 과자 (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;
}'C_language' 카테고리의 다른 글
| 누적 변수 연습문제 (0) | 2026.02.04 |
|---|---|
| 나이에 따른 입장료 판별기 (1) | 2026.02.02 |
| 성적 산출 프로그램 (else if 다중 조건) (0) | 2026.02.02 |
| scanf와 printf의 메커니즘을 이해하기 (0) | 2026.02.02 |
| 논리 연산자 실력을 확인인 문제 2개 (1) | 2026.01.30 |