1일차 _ 4월 1일(토)
1. 순서도 및 개발계획방향
2. 오류 및 해결과정
3. 고민한 부분
4. 구현 사진 및 코드
5. 4/2 진행할 부분
6. 느낀점
으로 작성하겠슴다.
1. 순서도 및 개발계획방향
처음에 만든 순서도입니다
현재 구현한 정도입니다.
- 담은 메뉴를 알려준다
-> 결제하기 전에 담은 메뉴를 모두 알려주는 부분입니다. 이건 만약 내가 고객이라면?이라고 생각했을 때 가장 필요한 부분인데, 배열을 배우지 않은 이상 코드를 더 늘리기엔 조금.. 어려워서 일단 포기했습니다.
- 결제 및 주문메뉴 줌
-> 이것도 00메뉴 나왔습니다~ 하고 결제금액 나오게 하고 싶은데 위와 같은 이유로 일단 절반만 성공했다고 세모 그려줬습니다.
2. 오류 해결과정
오류1: 식이 수정할 수 있는 Invalue여야 합니다 오류문자
while문 조건을 그냥 cnt만 쓰는 방식으로 하니 오류가 삭제되었습니다.
invalue오류는 올바른 값을 가지고 있지만 부적절한 값을 가진 인수를 해결할 때 나타나는 현상이라고 한다.
코드수정고민
이걸 뜨게 만들고 싶은데..
cls도 인식해서 창을 깨끗하게 하고 싶기도 하고..
둘 다 안되는 걸까 고민중이다.
3. 고민한 부분
- 자판기처럼 만들면 되겠지 했는데 함수를 사용하지 않으니 반복하는 내용을 자꾸 추가하게 되었다..
이것이 함수의 필요성인가 보다.
- 어떻게 for문을 사용해서 써야하는지 모르겠어요.. 아직도 ...
while문을 작성해서 코드를 완성했으나 주어진 for문을 사용하라 라는 부분을 지키지 못해 매우 찝찝한 상태. 2일에 추가적으로 고민해서 해결해 보도록 하겠습니다.
- if문이 아닌 switch로 작성해 보고 싶어요. 메뉴가 많으니.. 조금 더 코드를 간결하게 줄일 수 있을 것 같습니다.
4. 코드 및 구현 사진
먼저 김밥천국에 왔다며 반겨줍니다.
그리고 엔터를 누르면
방대한 메뉴를 보여줍니다. 그리고 메뉴를 보고 번호를 누르라는 창이 뜹니다.
메뉴판이 약간 지저분해 보여서 어떻게 수정할지 고민 중입니다.
메뉴에 없는 숫자를 입력하면 다시 안내합니다. 그리고 번호를 눌러달라고 안내합니다.
메뉴를 선택하면 메뉴를 알려줍니다.
몇 개의 메뉴를 선택했는지 알려줍니다.
그리고 추가 주문 결제창이 뜹니다. //여기서 추가로 가격을 알려주면 좋을 것 같음
추가주문을 누르면 메뉴의 번호를 입력하라고 합니다.
이 때 다른 숫자를 누르면 다시 선택해 주라고 안내합니다.
결제하러가기를 누르면 화면을 지우고 결제영수증을 출력해 줍니다.
구매한 수량과 음식 가격을 알려줍니다.
또한 금액을 입력하라는 창이 뜹니다.
참고로 사장은 접니다.
이 때 0원을 입력하면 결제가 취소됩니다.
다음에 방문해달라는 인사를 합니다.
금액을 입력했을 때 0원 초과인 금액을 입력하면 추가금을 입력하라고 안내합니다.
지불해야 할 금액을 만족하면 잔액을 반환합니다.
다음에 방문해달라는 인사를 합니다.
작성한 코드(수정전)
코드1_음식 변수지정
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
//메뉴판시작---------------------------------------------
//김밥류-------------------------------------------------
int kimbab = 2500; //[1]김밥 2500
int tuna_kimbab = 3000; //[2]참치김밥 3000
int fried_fork_kimbab = 3500; //[3]돈가스김밥 3500
int peper_tuna_kimabab = 3500; //[4]고추참치김밥 3500
int beef_kimbab = 4500; //[5]소고기김밥 4500
int cheese_kimbab = 3000; //[6]치즈김밥 3000
int salad_kimbab = 2500; //[7]샐러드김밥 2500
int mimi_kimbab = 1200; //[8]꼬마김밥 1200
int chungmu_kimbab = 20000; //[9]충무김밥 20000
int shishito_kimbab = 3500; //[10]꽈리김밥 3500
int jinmi_kimbab = 3700; //[11]진미김밥 3700
//라면류-------------------------------------------------
int ramen = 4000; //[12]라면 4000
int cheese_ramen = 4500; //[13]치즈라면 4500
int soybean_ramen = 4700; //[14]된장라면 4700
int ttoek_ramen = 4800; //[15]떡라면 4800
int dumpling_ramen = 4500; //[16]만두라면 4500
int ttoek_dumpling_ramen = 5000; //[17]떡만두라면 5000
int curry_ramen = 4500; //[18]카레라면 4500
int seafood_ramen = 5500; //[19]해물라면 5500
int black_bean_ramen = 4200; //[20]짜장라면 4200
int mixed_ramen = 4200; //[21]비빔라면 4200
//돈가스류----------------------------------------------
int fried_fork = 8000; //[22]돈가스 8000
int cheese_fried_fork = 9000; //[23]치즈돈가스 9000
int sweet_potato_cheese_fried_fork = 10000; //[24]고구마치즈돈가스 10000
int loin_fried_fork = 9500; // [25]등심돈가스 9500
int tender_fried_fork = 9500; //[26]안심돈가스 9500
int shrimp_fried_fork = 8500; //[27]새우돈가스 8500
int big_fried_fork = 12000; //[28]대왕돈가스 12000
int chicken_fried_fork = 7500; //[29]치킨돈가스 7500
int pikachu_fried_fork = 1000; //[30]피카츄돈가스 1000
int hambak_steak = 9500; //[31]함박스테이크 9500
//덮밥류--------------------------------------------------
int fork_over_rice = 7000; //[32]제육덮밥 7000
int egg_fried_rice = 7000; //[33]오무라이스 7000
int hi_rice = 7000; //[34]하이라이스 7000
int squid_over_rice = 7500; //[35]오징어덮밥 7500
int black_soybean_over_rice = 6500; //[36]짜장덮밥 6500
int curry_over_rice = 6500; //[37]카레덮밥 6500
int beef_over_rice = 8000; //[38]소고기덮밥 8000
int hot_pot_over_rice = 7000; //[39]돌솥비빔밥 7000;
int kimchi_over_rice = 6500; //[40]김치덮밥 6500
//찌개류---------------------------------------------------
int kimchi_stew = 6500; //[41]김치찌개 6500
int soybean_stew = 6500; //[42]된장찌개 6500
int dobu_stew = 6500; //[43]순두부찌개 6500
int organ_meat_stew = 6500; //[44]내장찌개 6500;
int seafood_stew = 8500; //[45]해물된장찌개 8500
int mixed_stew = 7800; //[46]부대찌개 7800
//떡볶이류-------------------------------------------------
int tteok_bokki = 4000; //[47]떡볶이 4000
int cheese_tteok_bokki = 4500; //[48]치즈떡볶이 4500
int ramen_tteok_bokki = 5000; //[49]라볶이 5000
int cup_tteok_bokki = 500; //[50]컵떡볶이 500
//우동 및 타메뉴--------------------------------------------
int udon = 4000; //[51]우동 4000
int fried_udon = 5000; //[52]튀김우동 5000
int kimchi_udon = 5000; //[53]김치우동 5000
int yubu_udon = 5000; //[54]유부우동 5000
int six_stew = 7000; //[55]육개장 7000
int al_stew = 7500; //[56]알탕 7500
int beef_stew = 9000; //[57]갈비탕 9000
int yellow_stew = 8000; //[58]황태해장국 8000
int sundea_stew = 7000; //[59]순대국밥 7000
int pollok_stew = 8000; //[60]명태국밥 8000
int rice = 1500; //[61]공기밥 1500
//메뉴끝--------------------------------------------------
//변수지정
int user_choice=0; //고객이 선택한 음식
int cnt=0; //고객 구매 횟수(총 5회까지 가능)
int user_should_pay=0; //고객이 지불해야 할 금액
int user_should_pay_2; //고객이 추가로 지불해야 할 금액
int paid_money; //고객이 지불한 금액
int user_wants_continue=1; //고객이 재구매 원함
코드2_메뉴판출력
printf("김밥천국에 오신 여러분을 환영합니다! \n");
printf("주문하려면 엔터를 눌러주세요:D \n");
getchar();
system("cls");
// system("cls");
//메뉴판출력
printf("====================================================================================================\n");
printf("+ 김밥천국 메뉴판 +\n");
printf("====================================================================================================\n");
printf(" <김밥류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[01]김밥(2,500원) [02]참치김밥(3,000원) [03]돈가스깁밥(3,500원) [04]고추참치김밥(3,500원)\n");
printf("[05]소고기김밥(4,500원) [06]치즈김밥(3,000원) [07]샐러드김밥(2,500원) [08]꼬마김밥(1,200원)\n");
printf("[09]충무김밥(20,000원) [10]꽈리김밥(3,500원) [11]진미깁밥(3,700원)\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf(" <라면류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[12]라면(4,000원) [13]치즈라면(4,500원) [14]된장라면(4,700원) [15]떡라면(4,800원) \n");
printf("[16]만두라면(4,500원) [17]떡만두라면(5,000원) [18]카레라면(4,500원) [19]해물라면(5,500원)\n");
printf("[20]짜장라면(4,200원) [21]비빔라면(4,200원)\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf(" <돈가스류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[22]돈가스(8,000원) [23]치즈돈가스(9,000원) [24]고구마치즈돈가스(10,000원)\n");
printf("[25]등심돈가스(9,500원) [26]안심돈가스(9,500원) [27]새우돈가스(8,500원) [28]대왕돈가스(12,000원)\n");
printf("[29]치킨돈가스(7,500원) [30]피카츄돈가스(1,000원)[31]함박스테이크(9,000원)\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf(" <덮밥류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[32]제육덮밥(7,000원) [33]오무라이스(7,000원) [34]하이라이스(7,000원) [35]오징어덮밥(7,500원)\n");
printf("[36]짜장덮밥(6,500원) [37]카레덮밥(6,500원) [38]소고기덮밥(8,000원) [39]돌솥비빔밥(7,000원)\n");
printf("[40]김치덮밥(6,500원)\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf(" <찌개류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[41]김치찌개(6,500원) [42]된장찌개(6,500원) [43]순두부찌개(6,500원) [44]내장찌개(6,500원)\n");
printf("[45]해물된장찌개(8,500원)[46]부대찌깨(7,800원)\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf(" <떡볶이류 & 우동류 & 국밥류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[47]떡볶이(4,000원) [48]치즈떡볶이(4,500원) [49]라볶이(5,000원) [50]컵떡볶이(500원)\n");
printf("[51]우동(4,000원) [52]튀김우동(5,000원) [53]김치우동(5,000원) [54]유부우동(5,000원)\n");
printf("[55]육개장(7,000원) [56]알탕(7,500원) [57]갈비탕(9,000)원 [58]황태해장국(8,000원)\n");
printf("[59]순대국밥(7,000원) [60]명태국밥(8,000원) [61]공기밥(1,500)원\n");
printf("===================================================================================================\n");
printf("+ 메뉴를 선택하신 후 번호를 눌러주세요 +\n");
printf("===================================================================================================\n");
코드3_메뉴표시
while(1)
{ // <- 오류해걸1: cnt를 1부터 시작하는 것으로 수정해서 갯수 0개부터 나오는 문제 해결
printf("메뉴에 있는 번호를 입력하세요 :");
scanf("%d", &user_choice);
//메뉴판에 없는 숫자를 입력할 때
while(user_choice < 1 || user_choice > 61){
printf("1부터 61까지의 숫자를 입력해 주세요!\n");
printf("메뉴에 있는 번호를 입력하세요 :");
scanf("%d", &user_choice);
break;
}
//메뉴표시
if(user_choice == 1){ //1번 ~ 11번은 김밥류
printf("김밥을 선택하셨습니다.\n");
user_should_pay += kimbab;
}
else if(user_choice == 2){
printf("참치김밥을 선택하셨습니다.\n");
user_should_pay += tuna_kimbab;
}
.....이하 메뉴생략....
cnt++; // 1회가 돌 때마다 갯수 추가
if(cnt == 5){
printf("식당이 협소한 관계로 5개까지만 주문해 주세요!\n");
printf("결제 창으로 넘어갑니다 ...\n");
system("cls");
break;
}
코드4_결제창
//추가 주문 창(지금까지 총 금액 안내 및 재주문 질문. 5회가 넘으면 질문하지 못함)
// printf(" <추가 주문 창>\n"); + 꾸밀 예정
printf("|==================================================================================================|\n");
printf("+ 추가 주문 결제창 +\n");
printf("|==================================================================================================|\n");
printf("| 추가 주문하시겠습니까? 총 5번 주문할 수 있습니다. |\n");
printf("| 고객님께서는 지금까지 %d개의 메뉴를 담으셨습니다. |\n", cnt);
printf("|==================================================================================================|\n");
printf("1.추가주문 2.결제하러 가기 :");
scanf("%d", &user_wants_continue);
while(user_wants_continue != 1 && user_wants_continue != 2){
printf("다시 선택해 주세요: ");
scanf("%d", &user_wants_continue);
}
printf("====================================================================================================\n");
if(user_wants_continue == 2){
system("cls");
break;
}
else{
continue;} // 오류 2. else if(user_wants_repurchase == 2){break;}를 해도 빠져나오지 않음.
}//while문 끝
//가격 알려주기(영수증 출력)
printf("+-------------------------------------+\n");
printf("| |\n");
printf("| GIMBAB_HEAVEN |\n");
printf("| |\n");
printf("| 고객 전용 영수증 |\n");
printf("| 사장: 박소연 |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| ITEM COUNT | %d개 |\n", cnt);
printf("| TOTAL | %d원 |\n", user_should_pay);
printf("| |\n");
printf("| |\n");
printf("| THANK YOU FOR YOUR PURCHASE! |\n");
printf("+-------------------------------------+\n");
코드5_결제
//금액 지불
printf("영수증은 위와 같습니다! 금액을 지불하세요: ");
scanf("%d", &paid_money);
//가격 결제
while(1){
if(paid_money == 0){
printf("잔액이 0원으로 확인됩니다.... 결제가 취소됩니다.\n");
break;
}
if(paid_money >= user_should_pay){
printf("맛있게 드세요!");
printf("잔액은 %d원 입니다.\n", paid_money - user_should_pay);
break;
}
else if(user_should_pay > paid_money){
while(paid_money < user_should_pay){
printf("아직 %d원이 부족합니다!", user_should_pay - paid_money);
printf("추가금을 입력하세요: ");
scanf("%d", &user_should_pay_2);
paid_money += user_should_pay_2;
}
}
}
printf("다음에도 방문 부탁드립니다! 감사합니다.\n");
return 0;
}//메인 함수 끝
5. 4/2 진행할 부분
- for문 어떻게 추가해야 할 지
- if문 말고 switch로 작성해 보기
- 자잘한 오류 수정하기 + 정리하기
- 개발완성계획서 작성하기
6. 느낀점
함수가 정말 정말 간절히 필요하네요. 함수야 너 홀대했는데 미안하다.
김밥천국 메뉴도 정말 많네요. 당분간 김밥천국 가기 싫을 듯...
일요일에 이어서 열심히 해보겠습니다. 파이팅..
2일차_4/2
어제에 이어 while대신 for문을 넣는 방법을 고민해 봤습니다
그리고 결국 해결~~~
생각보다 굉장히 단순한 방법으로 해결해서 어이없지만
그래도 완성시켜서 기분이 좋습니다.
1. 개발완료보고서
2. 고민한 부분 및 해결과정
3. 시연 내용
4. 작성한 코드
5. 느낀점
으로 작성해 보겠습니다.
1. 개발완료보고서
2. 고민한 부분과 해결과정
어제에 이어 가장 고민한 부분은 while문을 어떻게 for문으로 바꾸느냐 였습니다.
아무리 봐도... 불가능하거든요?
왜냐면 while문 안에서 break 하면 다시 돌아가게 하면 되는데
for문은 break 하면 다시 안 돌아가잖아요
그래서 포기하려다가 굳이 cnt(메뉴 개수 세는 함수)를 for문의 조건으로 넣을 필요가 있을까,,,,?
라는 생각이 번뜩 들더라고요
그래서 수정해봤습니다
원래 while문으로 시작하던 코드를
이렇게 0번을 누르면 계산으로 빠져나가고,
이외의 숫자를 입력하면 i--; 를 해서 for문이 계속 반복되게 했습니다.
3. 시연 내용
시연 내용은 어제 올리려고 임시저장해놓은 내용과 별다를 바 없지만
올려보겠습니다.. 정말 내용은 똑같으니까 움짤로 올려볼게요
1) 메뉴 보여주기
: 아무 키를 누르고 엔터를 누르면 메뉴를 보여줍니다. 그리고 메뉴번호를 입력하라고 합니다.
2)메뉴 선택 및 추가주문 잘못선택시
: 메뉴 선택은 숫자로 입력합니다.
추가 주문인 1과 2중 하나를 선택하지 않으면 다시 선택하라고 안내합니다.
3) 메뉴 잘못 선택시
: 1부터 61까지의 숫자를 입력하지 않으면 안내를 하고 다시 입력하라고 창이 뜹니다.
4)결제창 및 잔금 안내
: 0원을 입력하면 결제가 종료됩니다. 금액을 적게 입력하면 계속 필요한 금액을 묻습니다.
그리고 인사를 합니다.
4. 코드
#include <stdio.h>
int main() {
//메뉴판시작---------------------------------------------
//김밥류-------------------------------------------------
int kimbab = 2500; //[1]김밥 2500
int tuna_kimbab = 3000; //[2]참치김밥 3000
int fried_fork_kimbab = 3500; //[3]돈가스김밥 3500
int peper_tuna_kimabab = 3500; //[4]고추참치김밥 3500
int beef_kimbab = 4500; //[5]소고기김밥 4500
int cheese_kimbab = 3000; //[6]치즈김밥 3000
int salad_kimbab = 2500; //[7]샐러드김밥 2500
int mimi_kimbab = 1200; //[8]꼬마김밥 1200
int chungmu_kimbab = 20000; //[9]충무김밥 20000
int shishito_kimbab = 3500; //[10]꽈리김밥 3500
int jinmi_kimbab = 3700; //[11]진미김밥 3700
//라면류-------------------------------------------------
int ramen = 4000; //[12]라면 4000
int cheese_ramen = 4500; //[13]치즈라면 4500
int soybean_ramen = 4700; //[14]된장라면 4700
int ttoek_ramen = 4800; //[15]떡라면 4800
int dumpling_ramen = 4500; //[16]만두라면 4500
int ttoek_dumpling_ramen = 5000; //[17]떡만두라면 5000
int curry_ramen = 4500; //[18]카레라면 4500
int seafood_ramen = 5500; //[19]해물라면 5500
int black_bean_ramen = 4200; //[20]짜장라면 4200
int mixed_ramen = 4200; //[21]비빔라면 4200
//돈가스류----------------------------------------------
int fried_fork = 8000; //[22]돈가스 8000
int cheese_fried_fork = 9000; //[23]치즈돈가스 9000
int sweet_potato_cheese_fried_fork = 10000; //[24]고구마치즈돈가스 10000
int loin_fried_fork = 9500; // [25]등심돈가스 9500
int tender_fried_fork = 9500; //[26]안심돈가스 9500
int shrimp_fried_fork = 8500; //[27]새우돈가스 8500
int big_fried_fork = 12000; //[28]대왕돈가스 12000
int chicken_fried_fork = 7500; //[29]치킨돈가스 7500
int pikachu_fried_fork = 1000; //[30]피카츄돈가스 1000
int hambak_steak = 9500; //[31]함박스테이크 9500
//덮밥류--------------------------------------------------
int fork_over_rice = 7000; //[32]제육덮밥 7000
int egg_fried_rice = 7000; //[33]오무라이스 7000
int hi_rice = 7000; //[34]하이라이스 7000
int squid_over_rice = 7500; //[35]오징어덮밥 7500
int black_soybean_over_rice = 6500; //[36]짜장덮밥 6500
int curry_over_rice = 6500; //[37]카레덮밥 6500
int beef_over_rice = 8000; //[38]소고기덮밥 8000
int hot_pot_over_rice = 7000; //[39]돌솥비빔밥 7000;
int kimchi_over_rice = 6500; //[40]김치덮밥 6500
//찌개류---------------------------------------------------
int kimchi_stew = 6500; //[41]김치찌개 6500
int soybean_stew = 6500; //[42]된장찌개 6500
int dobu_stew = 6500; //[43]순두부찌개 6500
int organ_meat_stew = 6500; //[44]내장찌개 6500;
int seafood_stew = 8500; //[45]해물된장찌개 8500
int mixed_stew = 7800; //[46]부대찌개 7800
//떡볶이류-------------------------------------------------
int tteok_bokki = 4000; //[47]떡볶이 4000
int cheese_tteok_bokki = 4500; //[48]치즈떡볶이 4500
int ramen_tteok_bokki = 5000; //[49]라볶이 5000
int cup_tteok_bokki = 500; //[50]컵떡볶이 500
//우동 및 타메뉴--------------------------------------------
int udon = 4000; //[51]우동 4000
int fried_udon = 5000; //[52]튀김우동 5000
int kimchi_udon = 5000; //[53]김치우동 5000
int yubu_udon = 5000; //[54]유부우동 5000
int six_stew = 7000; //[55]육개장 7000
int al_stew = 7500; //[56]알탕 7500
int beef_stew = 9000; //[57]갈비탕 9000
int yellow_stew = 8000; //[58]황태해장국 8000
int sundea_stew = 7000; //[59]순대국밥 7000
int pollok_stew = 8000; //[60]명태국밥 8000
int rice = 1500; //[61]공기밥 1500
//메뉴끝--------------------------------------------------
//변수지정
int user_choice=0; //고객이 선택한 음식
int cnt=0; //고객 구매 횟수(총 5회까지 가능)
int user_should_pay=0; //고객이 지불해야 할 금액
int user_should_pay_2; //고객이 추가로 지불해야 할 금액
int paid_money; //고객이 지불한 금액
int user_wants_continue=1; //고객이 재구매 원함
//인사
printf("김밥천국에 오신 여러분을 환영합니다! \n");
printf("주문하려면 엔터를 눌러주세요:D \n");
getchar();
system("cls");
//메뉴판출력
printf("====================================================================================================\n");
printf("+ 김밥천국 메뉴판 +\n");
printf("====================================================================================================\n");
printf(" <김밥류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[01]김밥(2,500원) [02]참치김밥(3,000원) [03]돈가스깁밥(3,500원) [04]고추참치김밥(3,500원)\n");
printf("[05]소고기김밥(4,500원) [06]치즈김밥(3,000원) [07]샐러드김밥(2,500원) [08]꼬마김밥(1,200원)\n");
printf("[09]충무김밥(20,000원) [10]꽈리김밥(3,500원) [11]진미깁밥(3,700원)\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf(" <라면류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[12]라면(4,000원) [13]치즈라면(4,500원) [14]된장라면(4,700원) [15]떡라면(4,800원) \n");
printf("[16]만두라면(4,500원) [17]떡만두라면(5,000원) [18]카레라면(4,500원) [19]해물라면(5,500원)\n");
printf("[20]짜장라면(4,200원) [21]비빔라면(4,200원)\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf(" <돈가스류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[22]돈가스(8,000원) [23]치즈돈가스(9,000원) [24]고구마치즈돈가스(10,000원)\n");
printf("[25]등심돈가스(9,500원) [26]안심돈가스(9,500원) [27]새우돈가스(8,500원) [28]대왕돈가스(12,000원)\n");
printf("[29]치킨돈가스(7,500원) [30]피카츄돈가스(1,000원)[31]함박스테이크(9,000원)\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf(" <덮밥류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[32]제육덮밥(7,000원) [33]오무라이스(7,000원) [34]하이라이스(7,000원) [35]오징어덮밥(7,500원)\n");
printf("[36]짜장덮밥(6,500원) [37]카레덮밥(6,500원) [38]소고기덮밥(8,000원) [39]돌솥비빔밥(7,000원)\n");
printf("[40]김치덮밥(6,500원)\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf(" <찌개류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[41]김치찌개(6,500원) [42]된장찌개(6,500원) [43]순두부찌개(6,500원) [44]내장찌개(6,500원)\n");
printf("[45]해물된장찌개(8,500원)[46]부대찌깨(7,800원)\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf(" <떡볶이류 & 우동류 & 국밥류>\n");
printf("----------------------------------------------------------------------------------------------------\n");
printf("[47]떡볶이(4,000원) [48]치즈떡볶이(4,500원) [49]라볶이(5,000원) [50]컵떡볶이(500원)\n");
printf("[51]우동(4,000원) [52]튀김우동(5,000원) [53]김치우동(5,000원) [54]유부우동(5,000원)\n");
printf("[55]육개장(7,000원) [56]알탕(7,500원) [57]갈비탕(9,000)원 [58]황태해장국(8,000원)\n");
printf("[59]순대국밥(7,000원) [60]명태국밥(8,000원) [61]공기밥(1,500)원\n");
printf("===================================================================================================\n");
printf("+ 메뉴를 선택하신 후 번호를 눌러주세요 +\n");
printf("===================================================================================================\n");
for (int i = 0; i < 5; i++) {
printf("1번부터 61번까지의 메뉴를 선택하세요.(0번은 계산 버튼입니다): ");
scanf("%d", &user_choice);
if (user_choice == 0) {
break; // 주문을 원하지 않으면 종료됨
}
if (user_choice < 1 || user_choice > 61) {
printf("1부터 61까지의 숫자를 입력해 주세요!\n");
i--; // for루프에서 숫자가 추가되지 않도록 빼줌
continue; // for루프를 다시 시작하도록 함
}
cnt++; //아이템 갯수 세줌
if(user_choice == 1){ //1번 ~ 11번은 김밥류
printf("김밥을 선택하셨습니다.\n");
user_should_pay += kimbab;
}
else if(user_choice == 2){
printf("참치김밥을 선택하셨습니다.\n");
user_should_pay += tuna_kimbab;
}
else if(user_choice == 3){
printf("돈가스김밥을 선택하셨습니다.\n");
user_should_pay += fried_fork_kimbab;
}
else if(user_choice == 4){
printf("고추참치김밥을 선택하셨습니다.\n");
user_should_pay += peper_tuna_kimabab;
}
else if(user_choice == 5){
printf("소고기김밥을 선택하셨습니다.\n");
user_should_pay += beef_kimbab;
}
else if(user_choice == 6){
printf("치즈김밥을 선택하셨습니다.\n");
user_should_pay += cheese_kimbab;
}
/이후 메뉴 생략..../
} //for문 종료
if(cnt == 5){ //만약 5번 선택한 경우
printf("식당이 협소한 관계로 5개까지만 주문해 주세요!\n");
printf("결제 창으로 넘어갑니다 ...\n");
//system("cls");
}
//가격 알려주기(영수증 출력)
printf("+-------------------------------------+\n");
printf("| |\n");
printf("| GIMBAB_HEAVEN |\n");
printf("| |\n");
printf("| 고객 전용 영수증 |\n");
printf("| 사장: 박소연 |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| ITEM COUNT | %d개 |\n", cnt);
printf("| TOTAL | %d원 |\n", user_should_pay);
printf("| |\n");
printf("| |\n");
printf("| THANK YOU FOR YOUR PURCHASE! |\n");
printf("+-------------------------------------+\n");
//금액 지불
printf("영수증은 위와 같습니다! 금액을 지불하세요: ");
scanf("%d", &paid_money);
//가격 결제
while(1){
if(paid_money == 0){
printf("잔액이 0원으로 확인됩니다.... 결제가 취소됩니다.\n");
break;
}
if(paid_money >= user_should_pay){
printf("맛있게 드세요!");
printf("잔액은 %d원 입니다.\n", paid_money - user_should_pay);
break;
}
else if(user_should_pay > paid_money){
while(paid_money < user_should_pay){
printf("아직 %d원이 부족합니다!", user_should_pay - paid_money);
printf("추가금을 입력하세요: ");
scanf("%d", &user_should_pay_2);
paid_money += user_should_pay_2;
}
}
}
printf("다음에도 방문 부탁드립니다! 감사합니다.\n");
return 0;
}
5. 느낀점
개발환경의 중요성을 느꼈다. 집에서는 원격연결이 안되고 비쥬얼코드로 컴파일하기 귀찮다 ㅎㅎ
인간의 발전에 호기심과 창의성이 굉장히 크게 작용했음을 느꼈다.
for문과 if문만 사용하니 함수가 쓰고싶고, 배열을 배우고 싶고..(이것은 교육욕구를 불러일으키려는 교수님의 큰그림?)
더 많은 부분을 알게되면 더 다양한 방식으로 코드를 짤 수 있을거라고 생각하니 기대된다~~
열심히 해야지
'개발공부 > C언어' 카테고리의 다른 글
C언어_게임만들기 순서도(1차) (0) | 2023.04.04 |
---|---|
C언어_숫자야구 만들기 (0) | 2023.04.03 |
C언어_윤년 계산기 만들기 (0) | 2023.03.30 |
C언어_붕어빵 심리테스트 만들기 (0) | 2023.03.30 |
C언어_로또뽑기 만들기 (0) | 2023.03.30 |