#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만 나옴 어떡함 ㅠㅠ
도움 완료