본문 바로가기

개발자 모드/C언어

C언어 자판기 소스코드

728x90
#include <stdio.h>
#include <string.h>    // strcmp 함수가 선언된 헤더 파일


int main(void)
{

	int menu;
	char mat_name[5][7] = { "CUP","WATER","COFFEE","CRIME","SUGAR" };
	int mat[5] = { 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_s("%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_s("%c", &ch);
			
			if (ch == 'y' || ch == 'Y')
				for (int i = 0; i < 5; i++)
					mat[i] = 3;
		}

		else
			printf("메뉴 선택이 잘못되었습니다.");



	} while (menu != 6);
	

	return 0;
}

 

결과

 

 

728x90