728x90
반응형
c언어로 자판기 만들기 v1.0
1. 금액 입력
2. 메뉴 선택
3. 수량 선택
4. 거스름돈 출력
TODO
1. 메인 메뉴 루프 만들기/종료
2. 숫자가 아닌경우 exception처리
3. 금액이 부족한경우 거스름돈 반환 후 금액 재입력
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 | #include <stdio.h> #include <stdlib.h> int strToInt(char *strValue) { int intValue = 0; int i = 0; for (i = 0; i < strlen(strValue); i++) { //intValue += (strValue[i] - '0') * pow(10.0, (double)(strlen(strValue) - i - 1)); intValue += (strValue[i] - '0'); if (i != strlen(strValue) - 1) { intValue *= 10; } } return intValue; } int getChange(char* money, int price) { int moneyInt = strToInt(money); return moneyInt - price; } void showMenu(char* selectedMenu, char* amount) { printf("\n\n| ******** MENU ******** |"); printf("\n| (1) 참깨라면 - 1,000원 |"); printf("\n| (2) 햄 버 거 - 1,500원 |"); printf("\n| (3) 콜 라 - 800원 |"); printf("\n| (4) 핫 바 - 1,200원 |"); printf("\n| (5) 초코우유 - 1,500원 |"); printf("\n\n=> 메뉴를 선택해주세요.: "); scanf("%c", selectedMenu); printf("\n=> 수량을 선택해주세요.: "); scanf("%s", amount); } int main() { char money[100]; char selectedMenu; char amount[100]; int price = 0; printf("=> 돈을 넣어주세요.: "); gets(money); while(1) { showMenu(&selectedMenu, amount); int amountInt = strToInt(amount); if (selectedMenu == '1') { printf("\n참깨라면을 선택하셨습니다."); price = 1000 * amountInt; break; } else if (selectedMenu == '2') { printf("\n햄버거를 선택하셨습니다."); price = 1500 * amountInt; break; } else if (selectedMenu == '3') { printf("\n콜라를 선택하셨습니다."); price = 800 * amountInt; break; } else if (selectedMenu == '4') { printf("\n핫바를 선택하셨습니다."); price = 1200 * amountInt; break; } else if (selectedMenu == '5') { printf("\n초코우유를 선택하셨습니다."); price = 1500 * amountInt; break; } else { printf("\n메뉴 중에서 선택해주세요...-_-"); } } int change = getChange(money, price); if (change < 0) { printf("\n\n=> 금액이 부족합니다.-ㅠ-"); } else { printf("\n\n=> 감사합니다. 거스름돈은 %d 원 입니다.^^", change); } return 0; } |
반응형
'dev > c' 카테고리의 다른 글
[C언어] srand, rand 랜덤으로 문자 생성하기 (0) | 2017.06.13 |
---|---|
[C언어] 자판기 (Vending Machine) v1.3 (0) | 2016.04.20 |
댓글