c언어/c언어 (자판기)

c언어로 자판기, 빵판매기 등등 재고관리 프로그램 만들기

byeol2ing 2017. 8. 2. 11:47
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
#include <stdio.h>
 
        int i = 0;
        int a,b,c,d,e,f =0;
        int aw,bw,cw,dw,ew,fw =0;
        int total=0;
        int start=0;
        int select=0;
        int save=0;
        int price=0;
        int choice=0;
        int hap=0;
        int won50000,won10000,won5000,won1000,won500,won100 = 0;
        struct stor {
        char *name;
        char *source;
        int price;
        int number;
        int plus;
        int make;
                };
        
        int main() 
        {
        struct stor s[5];
        s[0].name = "단팥빵";
        s[0].source = "단팥";
        s[0].price = 1000;
        s[0].number = 0;
        s[0].plus = 0;
        s[0].make=0;
        s[1].name = "크림빵";
        s[1].source = "생크림";
        s[1].price = 1500;
        s[1].number = 0;
        s[1].plus = 0;
        s[1].make=0;
        s[2].name = "옥수수빵";
        s[2].source = "옥수수";
        s[2].price = 1300;
        s[2].number = 0;
        s[2].plus = 0;
        s[2].make=0;
        s[3].name = "호두빵";
        s[3].source = "호두";
        s[3].price = 1200;
        s[3].number = 0;
        s[3].plus = 0;
        s[3].make=0;
        s[4].name = "초코빵";
        s[4].source = "초코크림";
        s[4].price = 1800;
        s[4].number = 0;
        s[4].plus = 0;
        s[4].make=0;
            while(start==0)
            {
                    for(i=0;i<5;i++)
                    {
                    printf("%s 의 재고수량: ",s[i]);
                    scanf("%d",&s[i].number);
                    }
                    for(i=0;i<5;i++)
                    {
                    printf("%s 의 재고수량: ",s[i].source);
                    scanf("%d",&s[i].make);
                    }
                printf(" (잔고확인)50000원권 몇개 있습니까?");
                scanf("%d",&a);
                printf(" (잔고확인)10000원권 몇개 있습니까?");
                scanf("%d",&b);
                printf(" (잔고확인)5000원권 몇개 있습니까?");
                scanf("%d",&c);
                printf(" (잔고확인)1000원권 몇개 있습니까?");
                scanf("%d",&d);
                printf(" (잔고확인)500원동전 몇개 있습니까?");
                scanf("%d",&e);
                printf(" (잔고확인)100원동전 몇개 있습니까?");
                scanf("%d",&f);
                total = (a*50000)+(b*10000)+(c*5000)+(d*1000)+(e*500)+(f*100);
                printf("현재 총 %d원 있습니다.\n",total);
                printf("빵 판매를 시작해도 되겠습니까? ok = 1, no =0 \n");
                scanf("%d",&start);
            }
            while(start==1)
            {
                printf("시작합니다.\n");
                printf("1.빵고르기\n");
                printf("2.빵만들기\n");   
                printf("3.재료관리\n");
                printf("4.계산하기\n");
                printf("5.잔고관리\n");
                printf("6.종료하기\n"); 
                printf("7.전체보기\n"); 
                scanf("%d",&select);
                if(select==1)
                {
                    while(save!=6)
                    {
                     printf("빵을 골라주세요.\n");
                     printf("1.단팥빵\n");
                     printf("2.크림빵\n");
                     printf("3.옥수수빵\n");
                     printf("4.호두빵\n");
                     printf("5.초코빵\n");
                     printf("6.그만고르겠습니다.\n");
                     scanf("%d",&save);
                         switch(save)
                         {
                            case 1
                                if(s[0].number<=0)
                                    {
                                        printf("재고량이부족합니다. 만들어주세요\n");
                                        break;
                                    }
                                 price=price+s[0].price;
                                 s[0].number=s[0].number-1;
                                 break;
                            case 2:
                                if(s[1].number<=0)
                                    {
                                        printf("재고량이부족합니다. 만들어주세요\n");
                                        break;
                                    }
                                price=price+s[1].price;
                                s[1].number=s[1].number-1;
                               break;
                            case 3:
                                if(s[2].number<=0)
                                    {
                                        printf("재고량이부족합니다. 만들어주세요\n");
                                        break;
                                    }
                                price=price+s[2].price;
                                s[2].number=s[2].number-1;
                                break;
                            case 4:
                                if(s[3].number<=0)
                                    {
                                        printf("재고량이부족합니다. 만들어주세요\n");
                                        break;
                                    }
                                price=price+s[3].price;
                                s[3].number=s[3].number-1;
                                break;
                            case 5:
                                if(s[4].number<=0)
                                    {
                                        printf("재고량이부족합니다. 만들어주세요\n");
                                        break;
                                    }
                               price=price+s[4].price;
                               s[4].number=s[4].number-1;
                               break;
                            case 6:
                                break;
                            default:
                               printf("잘못입력하셨습니다.\n");
                               select = 0;
                               break;
                        }//switch
                    }//while
                save=0;
                }//if
                else if(select==2)
                    {
                        while(select==2)
                            {
                                printf("빵만들기를시작합니다.\n");
                                printf("무슨빵을 만드시겠습니까? \n");
                                printf("1.단팥빵\n");
                                printf("2.크림빵\n");
                                printf("3.옥수수빵\n");
                                printf("4.호두빵\n");
                                printf("5.초코빵\n");
                                printf("6.빵만들기종료\n");
                                scanf("%d",&choice);
                                if (choice==1)
                                    {
                                        if(s[0].make<=0)
                                            {
                                                printf("재료재고량이 부족합니다.\n");
                                                break;
                                            }
                                        s[0].make=s[0].make-1;
                                        s[0].number=s[0].number+1;
                                        printf("단팥의 갯수는 %d입니다.\n",s[0].make);
                                        printf("단팥빵의 갯수는 %d입니다.\n",s[0].number);
                                    }
                                else if( choice==2)
                                    {
                                        if(s[1].make<=0)
                                            {
                                               printf("재료재고량이 부족합니다.\n");
                                               break;
                                            }
                                       s[1].make=s[1].make-1;
                                       s[1].number=s[1].number+1;
                                       printf("크림의 갯수는 %d입니다.\n",s[1].make);
                                       printf("크림빵의 갯수는 %d입니다.\n",s[1].number);
                                    }
                                else if( choice==3)
                                    {
                                        if(s[2].make<=0)
                                            {
                                               printf("재료재고량이 부족합니다.\n");
                                               break;
                                            }
                                       s[2].make=s[2].make-1;
                                       s[2].number=s[2].number+1;
                                       printf("옥수수의 갯수는 %d입니다.\n",s[2].make);
                                       printf("옥수수빵의 갯수는 %d입니다.\n",s[2].number);
                                    }
                                else if( choice==4)
                                    {
                                        if(s[3].make<=0)
                                            {
                                               printf("재료재고량이 부족합니다.\n");
                                               break;
                                            }
                                       s[3].make=s[3].make-1;
                                       s[3].number=s[3].number+1;
                                       printf("호두의 갯수는 %d입니다.\n",s[3].make);
                                       printf("호두빵의 갯수는 %d입니다.\n",s[3].number);
                                    }
                                else if( choice==5)
                                    {
                                        if(s[4].make<=0)
                                            {
                                               printf("재료재고량이 부족합니다.\n");
                                               break;
                                            }
                                       s[4].number=s[4].number+1;
                                       s[4].make=s[4].make-1;
                                       printf("초코의 갯수는 %d입니다.\n",s[4].make);
                                       printf("초코빵의 갯수는 %d입니다.\n",s[4].number);
                                    }
                                else if( choice==6)
                                    {
                                       break;
                                    }
                                else
                                    {
                                       printf("잘못입력하셨습니다.\n");
                                       break;
                                    }
                            }//while
                    }//else if
                else if(select==3)
                    {
                        printf("재료관리를 시작합니다.\n");
                            for(i=0;i<5;i++)
                                {
                                     printf("%s 는 몇개 추가하시겠습니까?: ",s[i].source);
                                     scanf("%d",&s[i].plus);
                                     s[i].make=s[i].make+s[i].plus;
                                }
                    }
                else if(select==4)
                    {
                        printf("계산합니다.\n");
                        printf("총 %d 원 입니다. \n",price);
                        printf("50000,10000,5000,1000,500,100순으로 받은갯수를 입력하세요.\n");
                        scanf("%d",&aw);
                        scanf("%d",&bw);
                        scanf("%d",&cw);
                        scanf("%d",&dw);
                        scanf("%d",&ew);
                        scanf("%d",&fw);
                        hap=50000*aw + 10000*bw + 5000*cw + 1000*dw +500*ew + 100*fw;
                        printf("총 %d받았습니다.\n",hap);
                            if(hap<price)
                                {
                                    printf("%d원 더 내주세요.\n",price-hap);
                                }
                            if(price<=hap)
                                {
                                    printf("%d 거슬러 드리겠습니다.\n",hap-price);
                                    a=a+aw;
                                    b=b+bw;
                                    c=c+cw;
                                    d=d+dw;
                                    e=e+ew;
                                    f=f+fw;
                                    won50000=(hap-price)/50000;
                                    won10000=((hap-price)%50000)/10000;
                                    won5000=(((hap-price)%50000)%10000)/5000;
                                    won1000=((((hap-price)%50000)%10000)%5000)/1000;
                                    won500=(((((hap-price)%50000)%10000)%5000)%1000)/500;
                                    won100=((((((hap-price)%50000)%10000)%5000)%1000)%500)/100;
                                    a=a-won50000;
                                    b=b-won10000;
                                    c=c-won5000;
                                    d=d-won1000;
                                    e=e-won500;
                                    f=f-won100;
                                        if(a<0||b<0||c<0||d<0||e<0||f<0)
                                            {
                                                printf("잔고가부족합니다.\n");
                                            if(a<0)
                                                {
                                                    printf("50000원권 갯수부족합니다.\n");
                                                }
                                            if(b<0)
                                                {
                                                   printf("10000원권 갯수부족합니다.\n");
                                                }
                                            if(c<0)
                                                {
                                                   printf("5000원권 갯수부족합니다.\n");
                                                }
                                             if(d<0)
                                                {
                                                   printf("1000원권 갯수부족합니다.\n");
                                                }
                                            if(e<0)
                                                {
                                                   printf("500원권 갯수부족합니다.\n");
                                                }
                                            if(f<0)
                                                {
                                                   printf("100원권 갯수부족합니다.\n");
                                                }
                                             a=a-aw;
                                             b=b-bw;
                                             c=c-cw;
                                             d=d-dw;
                                             e=e-ew;
                                             f=f-fw;
                                             a=a+won50000;
                                             b=b+won10000;
                                             c=c+won5000;
                                             d=d+won1000;
                                             e=e+won500;
                                             f=f+won100;
                                            }//if
                                        else
                                            {
                                            printf("고객에게 내어줄 잔돈은 다음과 같습니다.\n");
                                            printf("오만원권 : %d 매\n",won50000);
                                            printf("만원권 : %d 매\n",won10000);
                                            printf("오천원권 : %d 매\n",won5000);
                                            printf("천원권 : %d 매\n",won1000);
                                            printf("오백원 : %d 매\n",won500);
                                            printf("백원 : %d 매\n",won100);
                                            price=0;
                                            }
                            }//if
                    }//else if
                
                else if(select==5)
                    {
                        printf("잔고관리를시작합니다.\n");
                        printf("오만원권 : %d 매\n",a);
                        printf("만원권 : %d 매\n",b);
                        printf("오천원권 : %d 매\n",c);
                        printf("천원권 : %d 매\n",d);
                        printf("오백원 : %d 매\n",e);
                        printf("백원 : %d 매\n",f);
                    }
                else if(select==6)
                    {
                        printf("프로그램종료.\n");
                        start = 0;
                        break;
                    }
                else if(select==7)
                    {
                        for(i=0;i<5;i++)
                            {
                                printf("이름: %s \n", s[i].name);
                                printf("재료: %s \n", s[i].source);
                                printf("가격: %d \n", s[i].price);
                                printf("재고수량: %d \n", s[i].number);
                                printf("재료재고수량: %d \n",s[i].make);
                            }
                    }
                else
                    {
                        printf("잘못입력하셨습니다.\n");
                    }
            }//while
        }//main
 
cs

c언어 공부를 위해 재고관리 및 구매 프로그램을 만들었습니다.

                printf("1.빵고르기\n");
                printf("2.빵만들기\n");   
                printf("3.재료관리\n");
                printf("4.계산하기\n");
                printf("5.잔고관리\n");
                printf("6.종료하기\n"); 
                printf("7.전체보기\n"); 


1. 빵고르기  -> 원하는 빵을 고르는데, 만약 빵의 수량이 부족하다면 재고가 부족하다고 뜹니다.

2. 빵만들기  -> 빵을 만드는데 빵재료가 부족하면 재고부족이 뜹니다.

3. 재료관리  -> 재료는 무한으로 받을 수 있습니다. 

4. 계산하기  -> 계산을 하는데 , 만약 금액보다 조금받을경우 더내야한다고 표시합니다.

                                    만약 금액보다 많이받아도 거슬러줄 돈이 없다면 거슬러줄 돈이 없다고 뜹니다.

                                    만약 거슬러줄 수 있다면, 화폐단위별로 몇장씩 주어야 하는지 계산해줍니다.

5. 잔고관리 -> 현재 자금 상태를 화폐단위 별로 보여줍니다.

6. 종료

7. 전체보기 -> 전체적으로 빵재고 재료재고 빵가격 잔고에대해 표시해줍니다.


반응형