#include <iostream>
using namespace std;
class FruitSeller
{
private:
int APPLE_PRICE;
int numOfApples;
int myMoney;
public:
void InitMEmbers(int price, int num, int money)
{
APPLE_PRICE=price;
numOfApples=num;
myMoney=money;
}
int SaleApples(int money)
{
int num=money/APPLE_PRICE;
numOfApples-=num;
myMoney+=money;
return num;
}
void ShowSalesResult()
{
cout<<"남은 사과:"<<numOfApples<<endl;
cout<<"판매 수익:"<<myMoney<<endl<<endl;
}
};
class FruitBuyer
{
int myMoney;
int numOfApples;
public:
void InitMembers(int money)
{
myMoney=money;
numOfApples=0;
}
void BuyApples(FruitSeller &seller, int money)
{
numOfApples+=seller .SaleApples(money);
myMoney-=money;
}
void ShowBuyResutlt()
{
cout<<"현재 잔액:"<<myMoney<<endl;
cout<<"사과 개수:"<<numOfApples<<endl<<endl;
}
};
int main(void)
{
FruitSeller seller;
seller .InitMEmbers(1000, 20, 0);
FruitBuyer buyer;
buyer .InitMembers(5000);
buyer .BuyApples(seller, 2000);
cout<<"과일 판매자의 현황"<<endl;
seller .ShowSalesResult();
cout<<"과일 구매자의 현황"<<endl;
buyer .ShowBuyResutlt();
return 0;
}
이코드를 실행결과가 밑에처럼되게 어떻게코딩해?
사과장수가 사과를 50개를 가지고 잇습니다.
사과가 일정수량 팔릴 때 마다 재고가 보이며 재고 이상 사과가 팔릴 경우 재입고 메뉴가 체크되며 재입고시 수량 추가가 되엇는지 확인할 수 있어야합니다.
사과 가격은 판매시 500원, 재고 구입시 200원으로 적립되게 설정하세요.
판매 가격이 넘어가면 다시 한번 재입고를 물어봐야 합니다.
Step1 >> 사과 수량 : 50개, 수익 : 0원
입력 -> 30
Step2 >> 사과 수량 : 20개, 수익 15000원
입력 -> 15
Step3 >> 사과 수량 : 5개, 수익 22500원
입력 -> 10
Step4 >> 사과의 수량이 모지랍니다. 재입고 하시겠습니까? (Y/N)
입력 -> Y
Step5 >> 입고할 사과의 수량을 입력하세요.
입력 -> 10000
Step6 >> 소유하신 금액이 부족합니다. 다시 한번 입력하세요.
입력 -> 100
Step7 >> 사과 수량 : 105개, 수익 2500원
AppleInventory 클래스를 만든다. 이 안에 현재 사과의 갯수를 기록하고 업데이트 되게 한다. 중요한건, 이 클래스는 현재 사과의 재고만 관리한다는 것. 그리고 PriceTable 클래스를 만든다. 이 클래스는 특정 제품의 가격을 관리한다(소비자가격, 도매가격 등)
마지막으로 Accounting(회계) 클래스를 만들어서 여기에 지출, 수입을 기록한다. 이 클래스는 오로지 돈계산에 관련된 것만 한다.
이제 위의 세가지 클래스를 이용해서 잡다한 일을 하는 AppleSeller 클래스를 도입한다. 별로 크지 않은 프로그램이니 애플리케이션에서 요구하는 모든 기능을 각각의 메소드로 만들어서 그냥 다 때려넣어도 됨.