#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
using namespace std;
const int MAX_MONEY_NUM = 100000;
class ioHandler //입출력 담당 클래스
{
public:
ioHandler() {}
~ioHandler() {}
void all();
};
void ioHandler::all()
{
cout<<"ㅣㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅣ"<<endl;
cout<<"ㅣ 자판기 ㅣ"<<endl;
cout<<"ㅣㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅣ"<<endl;
cout<<"ㅣ 실행할 행동을 선택하세요 ㅣ"<<endl;
cout<<"ㅣ 1.동전투입 2.상품선택 3.잔돈반환 ㅣ"<<endl;
cout<<"ㅣㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅣ"<<endl;
}
class CanStorage //상품 관리 클래스
{
private:
char id; //iD
string name; //name(이름)
int price; //(price)단가
int stock_quantity; //(stock_quantity)재고수량
public:
char getId();
void setId(char id_NUM);
string getName();
void setName(string Can_name);
int getPrice();
void setPrice(int Can_price);
int getStock_Quantity();
void setStock_Quantity(int stock_quantity_NUM);
};
char CanStorage::getId()
{
return id;
}
void CanStorage::setId(char id_NUM)
{
id = id_NUM;
}
string CanStorage::getName()
{
return name;
}
void CanStorage::setName(string Can_name)
{
name = Can_name;
}
int CanStorage::getPrice()
{
return price;
}
void CanStorage::setPrice(int Can_price)
{
price = Can_price;
}
int CanStorage::getStock_Quantity()
{
return stock_quantity;
}
void CanStorage::setStock_Quantity(int stock_quantity_NUM)
{
stock_quantity = stock_quantity_NUM;;
}
class MoneyKeeper
{
private:
int m_money[MAX_MONEY_NUM]; //돈
public :
MoneyKeeper() // 생성자
{
m_money[MAX_MONEY_NUM] = 0; // 돈의 값=0 초기화
}
~MoneyKeeper(){}; // 소멸자
void operate(); // 동전 넣기
};
void MoneyKeeper::operate()
{
int c;
cout<<"1번(100원 투입) 2번(500원 투입) 3번(1000원 투입)"<<endl;
cout<<"4번(상위메뉴로 돌아가기)"<<endl;
cout<<"잔액 : "<<m_money[MAX_MONEY_NUM]<<"원"<<endl;
while(1)
{
cout<<"현금을 투입 하세요 : ";
cin >> c;
if(c<=1)
{
m_money[MAX_MONEY_NUM] += 100;
cout << "100원 투입되었습니다. 잔액 :" << m_money[MAX_MONEY_NUM]<<"원"<< endl << endl;
}
else if(c<=2)
{
m_money[MAX_MONEY_NUM] += 500;
cout << "500원 투입되었습니다. " << m_money[MAX_MONEY_NUM] << endl << endl;
}
else if(c<=3)
{
m_money[MAX_MONEY_NUM] += 1000;
cout << "1000원 투입되었습니다." << m_money[MAX_MONEY_NUM] << endl << endl;
}
else if(c<=4)
{
break;
}
}
}
void main()
{
while(1)
{
ioHandler ioH;
ioH.all();
int selection = 0;
cout<<"실행할 메뉴를 선택합니다(숫자를 입력해주세요) : ";
cin>>selection;
cout<<endl;
cout<<endl;
if(selection<=1)
{
MoneyKeeper Money;
Money.operate();
}
else if(selection<=2)
{
}
else if(selection<=3)
{
}
else
{
cout<<"잘못 선택하셨습니다."<<endl;
}
}
getch();
}
아직 미완성 작이긴 한데.,, 자판기를 만드는 거에요...
일단 전체 메뉴 iohandler::all를 먼저 실행하고 selction이 1이면
돈관리 클래스 머니키퍼로 접근하는데 까지 햇는데 여기서 무한루프 돌려서
동전을 받아서 잔액을 구하는거 까지는 했는데 이 무한루프에서 탈출하려고 break를 걸어서
다시 all로 접근을 하면 이전에 입력했던 잔액이 다시 0으로 초기화되는데요
어떤소스를 추가해야지 잔액을 그대로 유지할수 있을까요??
안간단하잖아여 ㅡㅡ
그래서 얼마요?
ㅋㅋㅋㅋㅋㅋㅋㅋ. [from DCHub WP8.0.10211.0]
내가 가난한 대학생이라 ㅜㅜ 마음만은 쏴주고 싶다 감사합니다 ㅜㅜ