#include<stdio.h>
#include<Windows.h>
#include<string.h>
int main()
{
FILE *pd,*dd;
char product,word[100],*res1;
int a[2];
int num = 0;
int sel, in, out, suntek;
int res;
int coin1000, coin500, coin100, coin50, coin10;
while(1)
{
suntek=0;
system("cls");
printf("***자판기 관리 프로그램***\n");
printf(" 1. 재고등록\n");
printf(" 2. 재고확인\n");
printf(" 3. 제품판매\n");
printf(" 4. 종 료\n");
printf("****메뉴를 선택하세요****\n");
printf("선택한메뉴 : ");
scanf_s("%d", &suntek);
printf("\n");
system("cls");
if (suntek == 1)
{
pd = fopen("product.txt", "w");
if (pd == NULL)
{
printf("file open error!\n");
return 1;
}
while (1)
{
product = getchar();
if (product == EOF) break;
fputc(product, pd);
}
putchar('\n');
}
if (suntek == 2)
{
dd = fopen("product.txt", "r");
if (dd == NULL)
{
printf("file open error!\n");
return 1;
}
while (1)
{
res1 = fgets(word, sizeof(word), dd);
if (res1 == NULL) break;
printf("%s ", word);
}
printf("\n");
}
if (suntek == 3)
{
while(1)
{
printf("*** 음료자판기 ***\n");
printf("금액을 넣어주세요 ");
scanf_s("%d", &in);
if (in < 600)
{
printf("금액이 부족합니다!\n");
printf("잔액 : %d\n\n", in);
printf("금액을 추가해주세요\n");
scanf_s("%d", &num);
in = in + num;
}
if (in > 600)
{
printf("\n");
printf("잔액 : %d\n\n", in);
printf("음료를 선택하세요. \n");
printf("1)콜라(700원) \n");
printf("2)사이다(700원) \n");
printf("3)밀키스(650원) \n");
printf("4)핫초코(600원) \n");
printf("5)커피(600원) \n");
printf("6)비타민워터(1000원) \n\n");
printf("선택한 제품 : ");
scanf_s("%d", &sel);
}
if (sel == 1)
{
printf("콜라를 선택하셨습니다.\n\n");
printf("음료수 수량을 선택하세요.\n");
printf("선택한 수량 : ");
scanf_s("%d", &a[0]);
a[1] = a[0] * 700;
if (a[1] > in)
{
printf("금액이 부족합니다!\n");
printf("잔액 : %d\n\n", in);
printf("금액을 추가해주세요\n금액추가 : ");
scanf_s("%d", &num);
in = in + num;
}
out = in - a[1];
}
else if (sel == 2)
{
printf("사이다를 선택하셨습니다.\n\n");
printf("음료수 수량을 선택하세요.\n");
printf("선택한 수량 : ");
scanf_s("%d", &a[0]);
a[1] = a[0] * 700;
if (a[1] > in)
{
printf("금액이 부족합니다!\n");
printf("잔액 : %d\n\n", in);
printf("금액을 추가해주세요\n금액추가 :");
scanf_s("%d", &num);
in = in + num;
}
out = in - a[1];
}
else if (sel == 3)
{
printf("밀키스를 선택하셨습니다.\n\n");
printf("음료수 수량을 선택하세요.\n");
printf("선택한 수량 : ");
scanf_s("%d", &a[0]);
a[1] = a[0] * 650;
if (a[1] > in)
{
printf("금액이 부족합니다!\n");
printf("잔액 : %d\n\n", in);
printf("금액을 추가해주세요\n금액추가 : ");
scanf_s("%d", &num);
in = in + num;
}
out = in - a[1];
}
else if (sel == 4)
{
printf("핫초코를 선택하셨습니다.\n\n");
printf("음료수 수량을 선택하세요.\n");
printf("선택한 수량 : ");
scanf_s("%d", &a[0]);
a[1] = a[0] * 600;
if (a[1] > in)
{
printf("금액이 부족합니다!\n");
printf("잔액 : %d\n\n", in);
printf("금액을 추가해주세요\n금액추가 : ");
scanf_s("%d", &num);
in = in + num;
}
out = in - a[1];
}
else if (sel == 5)
{
printf("커피를 선택하셨습니다.\n\n");
printf("음료수 수량을 선택하세요.\n");
printf("선택한 수량 : ");
scanf_s("%d", &a[0]);
a[1] = a[0] * 600;
if (a[1] > in)
{
printf("금액이 부족합니다!\n");
printf("잔액 : %d\n\n", in);
printf("금액을 추가해주세요\n금액추가 : ");
scanf_s("%d", &num);
in = in + num;
}
out = in - a[1];
}
else if (sel == 6)
{
printf("비타민워터를 선택하셨습니다.\n\n");
printf("음료수 수량을 선택하세요.\n");
printf("선택한 수량 : ");
scanf_s("%d", &a[0]);
a[1] = a[0] * 1000;
if (a[1] > in)
{
printf("금액이 부족합니다!\n");
printf("잔액 : %d\n\n", in);
printf("금액을 추가해주세요\n금액추가 : ");
scanf_s("%d", &num);
in = in + num;
}
out = in - a[1];
}
res = out; //값이 바뀌기전에 미리 저장해두는곳
coin1000 = out / 1000;
out = out % 1000;
coin500 = out / 500;
out = out % 500;
coin100 = out / 100;
out = out % 100;
coin50 = out / 50;
out = out % 50;
coin10 = out / 10;
out = out % 10;
printf("거스름돈 : %d원\n 1000원 : %d개\n 500원 : %d개\n 100원 : %d개\n 50원 : %d개\n 10원 : %d개\n", res, coin1000, coin500, coin100, coin50, coin10);
system("pause");
system("cls");
}
}
if (suntek == 4)
{
printf("***자판기를 종료합니다.***\n");
exit(0);
}
}
}
대충 이건데
2번 재고확인 하려고 2입력하면 아무것도 안뜸
씨발 별지랄다해봐도 뭐가 충돌나서 그런지 아예모르겠네
뭐가문제냐 ㄴㅇㄻ
ㅠㅠ30분 넘게 고민하고 또 보는데 모르겠어요... 못도와드려 죄송.:
파일입력부터 조건 뱅신아니냐
2입력된 if 밑에 pause 넣어봐라 파일 읽어서 나오네 빨리 지나감