본문 바로가기

정리중인 카테고리/전공 기술

2009.05.04 - C언어 과제. 자판기 프로그램



/* 작성자:강필구 작성일:09.05.01 10:13 PM 수정일:09.05.04 02:32 PM */

#include <stdio.h>

void main()

{

 //부호가 없는 정수형 배열의 변수 선언

 unsigned int a[15];

 //무한 while문 시작

 while(1)

 {

  //금액 입력

  printf("KPG Drink Vending Machine 프로그램 \n");

  printf("금액을 넣어주세요. : ");

  scanf("%d", &a[0]);

  //자판기에서 판매되는 음료보다 금액이 적으면

  for ( ; a[0] < 500; )

  {

   printf("\n금액이 부족합니다. \n");

   printf("금액을 더 넣어주세요. : ");

   scanf("%d", &a[9]);

   a[0] = a[0] + a[9];

   printf("\n현재금액: %d원 \n", a[0]);

  }

  

  //음료 선택

  printf("\n1.실론티 600원  2.솔의눈 600원  3.레쓰비 500원 \n");

  printf("음료수를 선택하세요. : ");

  scanf("%d", &a[1]);

  //지정된 음료외에 선택시

  for ( ; a[1] > 3; )

  {

   a[1]=0;

   printf("\n음료수 선택을 잘못 하셨습니다. 다시 선택하세요. \n\n");

   printf("1.실론티 600원  2.솔의눈 600원  3.레쓰비 500원 \n");

   printf("음료수를 다시 선택하세요. : ");

   scanf("%d", &a[1]);

  }





  //음료 선택후 음료값 지정

  if ( a[1] == 1 ) { a[4] = 600; }

  if ( a[1] == 2 ) { a[5] = 600; }

  if ( a[1] == 3 ) { a[6] = 500; }

  //음료수 수량 선택

  printf("\n음료수 수량을 선택하세요. : ");

  scanf("%d", &a[2]);

  //수량 선택후 집계를 위한 음료수 수량금액 중간 계산

  if ( a[1] == 1 ) { a[4] = 600; a[3]= a[2] * a[4]; }

  if ( a[1] == 2 ) { a[5] = 600; a[3]= a[2] * a[5]; }

  if ( a[1] == 3 ) { a[6] = 500; a[3]= a[2] * a[6]; }

  

  //금액보다 음료수 수량금액이 더많을 경우

  for ( ; a[0] < a[3]; )

  {

   a[3] = 0;

   printf("\n금액이 부족합니다.\n");

   printf("음료수 수량을 다시 선택하세요. : ");

   scanf("%d", &a[2]);

   a[3] = a[0] * a[2];

  }

  

  //마지막 최종 계산

  if ( a[1] == 1 )

  {

   printf("실론티 %d개 를 선택하였고 남은 금액은 %d원 입니다. \n\n", a[2], a[0]-a[3]);

  }

  else if ( a[1] == 2 )

  {

   printf("솔의눈 %d개 를 선택하였고 남은 금액은 %d원 입니다. \n\n", a[2], a[0]-a[3]);

  }

  else if ( a[1] == 3 )

  {

   printf("레쓰비 %d개 를 선택하였고 남은 금액은 %d원 입니다. \n\n", a[2], a[0]-a[3]);

  }

 }

}