//소스.cpp
#include <iostream>
using namespace std;
#include "DrinkmachineControl.h"
int MenuPrint();
int main()
{
DrinkmachineControl *c = new DrinkmachineControl;
int idx;
while (true)
{
system("cls");
c->Print();
idx = MenuPrint();
switch (idx)
{
case 1: c->InputMoney(); break;
case 2: c->SelectProduct(); break;
case 3: c->OutputMoney(); break;
case 4: return 0;
}
system("pause");
}
delete c;
return 0;
}
int MenuPrint()
{
int idx;
cout << "[1] 금액투입 [2] 제품선택 [3] 잔액요청 [4] 종료 " << endl;
cin >> idx;
return idx;
}
//Drinkmachine.h
#pragma once
class Drinkmachine
{
private:
int sell_money[5];
int money;
public:
Drinkmachine();
~Drinkmachine();
public:
int getmoney() const;
public:
void print() const;
void add_money(int money);
void select(int idx);
void balance();
};
//DrinkmachineControl.h
#pragma once
#include "Drinkmachine.h"
class DrinkmachineControl
{
Drinkmachine *pmachine;
public:
DrinkmachineControl();
~DrinkmachineControl();
public:
void Print();
void InputMoney();
void SelectProduct();
void OutputMoney();
};
//Drinkmachine.cpp
#include <iostream>
using namespace std;
#include "Drinkmachine.h"
Drinkmachine::Drinkmachine()
: money(0)
{
sell_money[0] = 500;
sell_money[1] = 200;
sell_money[2] = 300;
sell_money[3] = 100;
sell_money[4] = 300;
}
Drinkmachine::~Drinkmachine()
{
}
int Drinkmachine::getmoney() const
{
return money;
}
void Drinkmachine::print() const
{
cout << "*********************************************" << endl;
for (int i = 0; i < 5; i++)
printf("[%d] %d ", i, sell_money[i]);
cout << endl;
cout << "*********************************************" << endl;
cout << ">> 현재 입금 금액 : " << money << endl;
cout << "*********************************************" << endl;
}
void Drinkmachine::add_money(int _money)
{
if (_money <= 0)
return;
money = money + _money;
}
void Drinkmachine::select(int idx)
{
if (idx >= 0 && idx <= 4)
{
if (money >= sell_money[idx])
money = money - sell_money[idx];
else
cout << "잔액이 부족합니다." << endl;
}
}
void Drinkmachine::balance()
{
money = 0;
}
DrinkmachineControl.cpp
#include <iostream>
using namespace std;
#include "DrinkmachineControl.h"
DrinkmachineControl::DrinkmachineControl()
{
pmachine = new Drinkmachine;
}
DrinkmachineControl::~DrinkmachineControl()
{
}
void DrinkmachineControl::Print()
{
pmachine->print();
}
void DrinkmachineControl::OutputMoney()
{
pmachine->balance();
}
void DrinkmachineControl::SelectProduct()
{
int idx;
cout << "제품을 선택하세요 : ";
cin >> idx;
pmachine->select(idx);
}
void DrinkmachineControl::InputMoney()
{
int money;
cout << "돈을 넣으세요 : ";
cin >> money;
pmachine->add_money(money);
}
'00.Project' 카테고리의 다른 글
C++학생관리프로그램(mini) (0) | 2018.05.10 |
---|---|
야구게임(mini) (0) | 2018.04.28 |
간단한 관리프로그램(mini) (0) | 2018.04.28 |
댓글