#include "stdafx.h"
#include <iostream>

using namespace std;

void Manage_Save();
void Manage_Check();
void print_menu();

class BankAcct
{
    int balance;
public:
    friend void Manage_Check();
    friend void Manage_Save();
    BankAcct(int amount = 0) {this -> balance=amount; }
    void deposit(int amount) { this ->balance += amount; }
    void withdraw(int amount) { this ->balance -= amount; }
    virtual double getinstance() = 0;
    int getbalance() { return balance; }
};
class CheckingAcct :public BankAcct
{
public:
    double getinstance() { return 0.05; }
};
class SavingAcct : public BankAcct
{
public:
    double getinstance() { return 0.09; }
};

int main()
{
    int anw;                                               // 계좌선택한 값을 받기 위한 변수선언
    while (1)
    {
        print_menu();
        cin >> anw;
        switch (anw)
        {
        case 1:
            Manage_Check();
            break;
        case 2:
            Manage_Save();
            break;
        case 3:
            return 0;
        default:
            cout << "Error! Input correct number!\n";    //1~3 이외의 값을 입력하면 종료
            break;
        }

    }
    
        
    return 0;
}
// 계좌 선택 메뉴 출력 함수
void print_menu()
{
    cout << "Checking Account:1\nSaving Accont:2\nExit:3";
}
//Checking Account 에서 입,출금 계좌조회 함수
void Manage_Check()
{
    int anw;                         //계좌에서 실행할 값을 받을 변수
    int amount;                      //입출금 금액을 받을 변수
    CheckingAcct c1;                 //CheckingAccount의 계좌
    double instance = 0;              //이자
    instance = c1.getbalance()*c1.getinstance();
    while (1)
    {
        cout << "deposit:1\nwithdraw:2\nshow instance:3\nexit:4\n";
        cin >> anw;
        switch (anw)
        {
        case 1:
            cout << "intput amount to deposit:\n";
            cin >> amount;
            c1.deposit(amount);
            break;
        case 2:
            cout << "intput amount to withdraw:\n";
            cin >> amount;
            c1.withdraw(amount);
            break;
        case 3:
            cout << "your instance is " <<instance << endl;
            break;
        default:
            cout << "Error! Input correct number!\n";                  //1~3 이외의 값을 입력하면 종료
            break;
        }
        break;
    }
}
//Saving Account에서 입,출금 계좌조회 함수
void Manage_Save()
{
    int anw;
    int amount;
    SavingAcct s1;                                              //SavingAcct 계좌
    double instance=0;                                          //이자을 계산하기 위해 초기화
    instance = s1.getbalance()*s1.getinstance();                //이자
    while (1)
    {
        cout << "deposit:1\nwithdraw:2\nshow instance:3\nexit:4\n";
        cin >> anw;
        switch (anw)
        {
        case 1:
            cout << "intput amount to deposit:\n";
            cin >> amount;
            s1.deposit(amount);
            break;
        case 2:
            cout << "intput amount to withdraw:\n";
            cin >> amount;
            s1.withdraw(amount);
            break;
        case 3:
            cout << "your instance is " <<instance << endl;
            break;
        default:
            cout << "Error! Input correct number!\n";                  //1~3 이외의 값을 입력하면 종료
            break;
        }
        break;
    }
}



입금이나 출금한 다음


이자계산한 값을 출력하려고 해도


0만 나옴 어떡함 ㅠㅠ