- 사용자의 금액을 scanf()로 입력 받는다.
제품별로 변수를 다 따로 선언한다.
switch~case문으로 제품이 선택됐을 때 해당 제품변수가 증가되게 했다.
- if문을 통해 사용자의 금액이 제품보다 클시 제품이 출력된다.
- 잔액에서 제품의 금액만큼 차감된다.
- if문을 통해 잔액보다 높은 금액의 제품을 구매할 수 없게 한다.
- 잔액이 제품 중 최저 가격보다 낮을 경우 잔액을 거스름돈 형태로 내보낸다.(if문 사용)
위의 과정을 통해 잔액이 최저가격보다 낮을 때까지 while문을 이용해서 반복한다.
잔액이 최저가격보다 낮아지면 구매한 제품 내역과 잔액을 출력한다.
#include <stdio.h>
int main(void)
{
int coffee = 200, milk = 400, snack = 500, kimbab = 600;
int money;
int choice;
int c = 0, m = 0, s = 0, k = 0;
printf("금액을입력하시오);
scanf("%d", &money);
while (1){
printf("1.커피 %d원'5cn2.우유 %d원'5cn3.과자 %d원'5cn4.김밥 %d원'5cn", coffee, milk, snack, kimbab);
printf("선택 ");
scanf("%d", &choice);
switch (choice)
{
case 1: // coffee
if (money >= 200){
printf("잔액은d원입니다'5cn", money - coffee);
money = money - coffee;
c++;
}
else if ( money > 200)
printf("잔액이부족합니다'5cn잔액은d원입니다'5cn", money);
else{
printf("선택하신제품은커피d개 우유d개 과자d개 김밥d개입니다\n", c, m, s, k);
printf("거스름돈은d원입니다'5cn", money);
}
break
case 2: // milk
if (money >= 400){
printf("잔액은d원입니다'5cn", money - milk);
money = money - milk;
m++;
}
else if ( money > 200)
printf("잔액이부족합니다'5cn잔액은d원입니다'5cn", money);
else {
printf("선택하신제품은커피d개 우유d개 과자d개 김밥d개입니다\n", c, m, s, k);
printf("거스름돈은d원입니다'5cn", money);
}
break
case 3://snack
if (money >= 500){
printf("잔액은d원입니다'5cn", money - snack);
money = money - snack;
s++;
}
else if (money >200)
printf("잔액이부족합니다'5cn잔액은d원입니다'5cn", money);
else {
printf("선택하신제품은커피d개 우유d개 과자d개 김밥d개입니다\n", c, m, s, k);
printf("거스름돈은d원입니다'5cn", money);
}
break
case 4: //kimbab
if (money >= 600){
printf("잔액은d원입니다'5cn", money - kimbab);
money = money - kimbab;
k++;
}
else if ( money >200)
printf("잔액이부족합니다'5cn잔액은d원입니다'5cn", money);
else {
printf("선택하신제품은커피d개 우유d개 과자d개 김밥d개입니다\n", c, m, s, k);
printf("거스름돈은d원입니다'5cn", money);
}
break
}
}
}