¶
~cpp #include <iostream> using namespace std; #include <string> //기 래 class VendingMachine { private: int _money; int _temp_money; int _select_money, _select_drink, _insert_amount; struct drink { char * name; int price, amount; }; drink s_drink[5]; int _max_num; public: VendingMachine(); int showMenu(); void get_money(); void buy(); void takeBack_money(); void insertDrink(); }; int VendingMachine::showMenu() { int choice; cout << "\n기 다\n"; cout << "1. 는디\n"; cout << "2.물 다\n"; cout << "3. 러 는다\n"; cout << "4.료를 다\n"; cout << "0.료다\n"; cout << "메뉴를 : "; cin >> choice; return choice; } //기 메뉴를 기다 VendingMachine::VendingMachine() { _money = _temp_money = 0; _max_num = 5; char * drink_name[] = {"coke", "juice", "tea" , "cofee", "milk"}; int price[] = {400, 600, 500, 450, 350}; for(int i = 0 ; i < _max_num ; i++) { s_drink[i].name = drink_name[i]; s_drink[i].price = price[i]; s_drink[i].amount = 10; } } //님 기 는다 void VendingMachine::get_money() { cout << " . 10, 50, 100, 500, 1000만 가능 : "; cin >> _temp_money; if(_temp_money == 10 || _temp_money == 50 || _temp_money == 100 || _temp_money == 500 || _temp_money == 1000) _money = _money + _temp_money; else cout << "10, 50, 100, 500, 1000만 가능다. 다 \n"; cout << _money << " 다\n"; } //님 물 다 void VendingMachine::buy() { cout << "료\t\t가격\t량\n"; cout << "------------------------------------\n"; for(int i = 0 ; i < _max_num ; i++) cout << i + 1 << "." << s_drink[i].name << "\t\t" << s_drink[i].price << "\t" << s_drink[i].amount << "\n"; cout << "\n " << _money << " \n"; cout << "는 료를 : "; cin >> _select_drink; if((_money - s_drink[_select_drink - 1].price) >= 0 && s_drink[_select_drink - 1].amount >= 1) { s_drink[_select_drink - 1].amount--; _money = _money - s_drink[_select_drink - 1].price; } else cout << " 부나 량 부\n"; cout << _money << " 남\n"; } //님 내다 void VendingMachine::takeBack_money() { cout << "" << _money << " 돌려드립다\n"; _money = 0; } //료를 다 void VendingMachine::insertDrink() { for(int i = 0 ; i < _max_num ; i++) cout << i + 1 << "." << s_drink[i].name << "\t" << s_drink[i].amount << "\n"; cout << "길 는 료를 : "; cin >> _select_drink; cout << "길 는 료 량 력 : "; cin >> _insert_amount; s_drink[_select_drink - 1].amount += _insert_amount; cout << "료를 다\n"; for(i = 0 ; i < _max_num ; i++) cout << i + 1 << "." << s_drink[i].name << "\t" << s_drink[i].amount << "\n"; } int main() { VendingMachine VendingMachine; int choice = VendingMachine.showMenu(); while(choice != 0) { if( choice >= 0 || choice <= 4) { switch(choice) { case 1: VendingMachine.get_money(); break; case 2: VendingMachine.buy(); break; case 3: VendingMachine.takeBack_money(); break; case 4: VendingMachine.insertDrink(); break; case 0: cout << "기를 료다!!\n\n"; break; } } else cout << "못된 력다. 다 력 : "; choice = VendingMachine.showMenu(); } return 0; }
드 경 가 단 가 기로 두가를 둔다면,
- 드를 기 가. - 부로 보는 public 메드 대 'how' 가 닌 'what' 되 겁다. 래는 보 '되는 모' 로 되므로, 떤 고리 느냐가 메드로 되는게 라 '무 것가' 가 되 겠.
- 드 복 나 가 - 드 복 많 록, 드 나가 못되면, 나머 복드들 다 고 다. Copy & Paste 를 는 것과 /메드로 것 가 되겠.
- 두가 기 드를 보면, 더 디 드를 다. --1002
- 가 대 고보다 -- 동