class CDaccount{
public:
CDaccount(double balance, double interestRate, int term);
void input(); // balance, term을 키보드로 입력받음
double getMaturedBalance(); // term 동안의 이자를 단리로 계산하여 만기시의 금액을 리턴
double getBalance();
double getInterestRate();
int getTerm();
int setBalance(double balance);
void setInterestRate(double intersetRate);
void setTerm(int term);
private:
double balance; //잔액
double interestRate; //이자율(%)
int term; //기간
};
int main(){
CDaccount account(0,0.05,0);
account.input();
return 0;
}
CDaccount::CDaccount(double balance, double interestRate, int term){
this->balance = balance;
this->interestRate = interestRate;
this->term = term;
}
void CDaccount::input(){
double balance;
int term;
int i;
while(1){
std::cout << "Enter the balance(upto 0): ";
std::cin >> balance;
if(setBalance(balance) == 1){
break;
}
}
while(1){
std::cout << "Enter the term: ";
std::cin >> term;
if(term > 0){
setTerm(term);
break;
}
}
std::cout << "Matured balance: " << getMaturedBalance() <<" (Interest Rate: 5%)\n";
}
double CDaccount::getMaturedBalance(){
int i;
for(i=0;i<term;i++){
balance *= 1+interestRate;
}
return balance;
}
double CDaccount::getBalance(){
return balance;
}
double CDaccount::getInterestRate(){
return interestRate;
}
int CDaccount::getTerm(){
return term;
}
int CDaccount::setBalance(double balance){
if(balance > 0){
this->balance = balance;
return 1;
} else{
return 0;
}
}
void CDaccount::setInterestRate(double interestRate){
this->interestRate = interestRate;
}
void CDaccount::setTerm(int term){
this->term = term;
}
// main.cpp
// CDaccount
//
// Created by Chiwan Song on 2014. 9. 15..
// Copyright (c) 2014년 Chiwan Song. All rights reserved.
//
#include <iostream>
using namespace std;
class CDaccount{
private:
double balance;
double interestRate;
int term;
int checkPositive(double value);
int checkPositive(int value);
public:
void input();
double getMaturedBalance();
void setRate(double rate);
};
int main(int argc, const char * argv[]){
CDaccount myAccount;
double interestRate=5.0;
double maturedBalance;
myAccount.input();
myAccount.setRate(interestRate);
maturedBalance=myAccount.getMaturedBalance();
cout<<"Matured Balance: $"<<maturedBalance<<" (Interest rate: "<<interestRate<<"%)\n";
return 0;
}
int CDaccount::checkPositive(double value){
if(value<=0) return 0;
else return 1;
}
int CDaccount::checkPositive(int value){
if(value<=0) return 0;
else return 1;
}
void CDaccount::input(){
int check=0;
while(check==0){
cout<<"Please enter balance: ";
cin>>balance;
check=checkPositive(balance);
if(check==0) cout<<"BALANCE SHOULD BE BIGGER THAN 0\n";
}
check=0;
while(check==0){
cout<<"Please enter term: ";
cin>>term;
check=checkPositive(term);
if(check==0) cout<<"TERM SHOULD BE BIGGER THAN 0\n";
}
}
double CDaccount::getMaturedBalance(){
return balance+(balance*interestRate*term/12);
}
void CDaccount::setRate(double rate){
interestRate=rate/100;
}