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. 전체보기 -> 전체적으로 빵재고 재료재고 빵가격 잔고에대해 표시해줍니다.
반응형