11.10 Account_Inheritance

11.10 Account_Inheritance

描述

按照书本11.10描述编写银行账户的类继承结构
为了统一实现方式,请使用下面的main函数,main函数代码不得修改

int main(){
//初始化 
    //输入账户余额 
    double balance;
    cin>>balance; 
    //创建一个Account实例 
    Account a(balance);
    //检查输入的balance是否合法 
    if(!a.check()){
        a.setBalance(0);
        cout<<"Not a valid parameter."<<endl;
        return 0;
    }
    
    //输入利率 
    double rate;
    cin>>rate;
    //创建一个SavingAccount实例 
    SavingAccount aSaving(balance, rate);
    
    //输入手续费
    double fee;
    cin>>fee;
    //创建一个 CheckingAccount实例 
    CheckingAccount aChecking(balance, fee);
    
//模拟业务 
    //输入存取钱数 
     double creditAmount;
     double debitAmount;
     cin >>  creditAmount >> debitAmount;
     //测试Acount 
     a.credit(creditAmount); //存钱 
     cout<<fixed << setprecision(2) <<a.getBalance()<<endl;//输出余额 
     if(a.debit(debitAmount)){ // 取钱 
         cout<<fixed << setprecision(2)<<a.getBalance()<<endl;// 输出余额
     }
      // 测试 CheckingAccount
      if(aChecking.credit(creditAmount)){
        cout<<fixed << setprecision(2)<<aChecking.getBalance()<<endl;
      } 
      
      if(aChecking.debit(debitAmount)){
            cout<<fixed << setprecision(2)<<aChecking.getBalance()<<endl;
      } 
    //测试 SavingAccount
    double interest = aSaving.calculateInterest();
    aSaving.credit(interest);
    cout<<fixed << setprecision(2)<<aSaving.getBalance()<<endl;
     
    return 0;
} 

输入

输入包含两行(除初始余额外其余的输入保证为正数)

1.三个实数,表示账户的初始余额、利率(百分比)和手续费
2.两个实数,表示用于测试的存钱数和取钱数
普通账户和CheckingAccount均执行存钱后取钱操作
SavingAccount不进行存取,只保留初始余额

输出

输出包含五行(初始余额输入为负数时,只输出"Not a valid parameter.")

1.一个实数,Account存钱后的账户余额
2.一个实数/字符串,Account取钱后的账户余额/取钱失败提示
3.一个实数/字符串,CheckingAccount存钱后的账户余额/操作失败提示
4.一个实数/字符串,CheckingAccount取钱后的账户余额/操作失败提示
5.一个实数,SavingAccount计算利息并将利息存入后的账户余额
所有输出的实数保留两位小数
普通账户取钱失败输出"Debit amount exceeded account balance."
CheckingAccount操作失败输出"Operation not permitted."(不带引号)

输入样例1

100 20 0.5
5 2

输出样例1

105.00
103.00
104.50
102.00
120.00

输入样例2

-10 20 8
10 93

输出样例2

Not a valid parameter.

信息

ID
1006
难度
1
分类
(无)
标签
递交数
246
已通过
37
通过率
15%
上传者