C
[C언어] 실습: 커피 자판기 프로그램 구현하기
sweetnew
2021. 3. 28. 23:31
반응형
커피 자판기 프로그램 구현하기
<입력 및 출력 형식> === Coffee Machine === 1. 블랙커피(컵, 물, 커피) 2. 프림커피(컵, 물, 커피, 프림) 3. 밀크커피(컵, 물, 커피, 프림, 설탕) 4. 설탕커피(컵, 물, 커피, 설탕) 5. 재료보충 ====================== <기본 입출력 현황 - 3개씩> cup: ### water: ### coffee: ### crime: ### sugar: ### == MENU == 1. 블랙커피 2. 프림커피 3. 밀크커피 4. 설탕커피 5. 재료 현황 및 보충 6. 작업종료 ========= 메뉴: |
#include<stdio.h>
int main(){
int menu;
char mat_name[5][7] = {"CUP", "WATER", "COFFEE", "CRIME", "SUGAR"}; // 재료의 이름을 이차원배열로 선언해준다.
int mat[5] = {3, 3, 3, 3, 3}; // 재료 수량을 3으로 초기화 해준다.
char ch;
do{
printf("\n== MENU ==\n");
printf("1. 블랙커피\n");
printf("2. 프림커피\n");
printf("3. 밀크커피\n");
printf("4. 설탕커피\n");
printf("5. 재료현황 및 보충\n");
printf("6. 작업종료\n");
printf("===========\n");
printf("메뉴 : ");
scanf("%d", &menu);
if(menu == 1){
if(mat[0] <= 0 || mat[1] <= 0 || mat[2] <= 0)
printf("재료가 부족합니다.\n");
else{
mat[0]--;
mat[1]--;
mat[2]--;
}
}
else if(menu == 2){
if(mat[0] <= 0 || mat[1] <= 0 || mat[2] <= 0 || mat[3] <= 0)
printf("재료가 부족합니다.\n");
else{
mat[0]--;
mat[1]--;
mat[2]--;
mat[3]--;
}
}
else if(menu == 3){
if(mat[0] <= 0 || mat[1] <= 0 || mat[2] <= 0 || mat[3] <= 0 || mat[4] <= 0)
printf("재료가 부족합니다.\n");
else{
mat[0]--;
mat[1]--;
mat[2]--;
mat[3]--;
mat[4]--;
}
}
else if(menu == 4){
if(mat[0] <= 0 || mat[1] <= 0 || mat[2] <= 0 || mat[4] <= 0)
printf("재료가 부족합니다.\n");
else{
mat[0]--;
mat[1]--;
mat[2]--;
mat[4]--;
}
}
else if(menu == 5){
for(int i = 0; i < 5; i++){
printf("%s : ", mat_name[i]);
for(int j = 0; j < mat[i]; j++)
printf("#");
printf("\n");
}
getchar();
printf("충전 [Y / N] :");
scanf("%c", &ch);
if(ch == 'Y' || ch == 'y')
for(int i = 0; i < 5; i++)
mat[i] = 3;
}
else
printf("메뉴 선택이 잘못되었습니다.\n");
} while(menu != 6);
return 0;
}
반응형