先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户类中增加一个静态成员变量(年利率),并增加如下成员函数:(1)计算月利息月利息=存款金额x年利率+12(2)更改利率(静态方法)

 实验二:继承和派生程序设计(4学时)必做题:
先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户类中增加一个静态成员变量(年利率),并增加如下成员函数:(1)计算月利息
月利息=存款金额x年利率+12
(2)更改利率(静态方法):重新设置年利率最后,编写一个程序来测试所设计的储蓄账户类能否实现预定的功能。

#include<iostream>
#include<string.h>
using namespace std;
class Account{
protected:
    int id;
    char name[15];
    int money;
public:
    Account(int id,char *name,int money):id(id),money(money){
        strcpy(this->name,name);
    }
    void Inmoney(int m);
    void outmoney(int m);
};
void Account::Inmoney(int m){
    money +=m;
}
void Account::outmoney(int m){
    if(m>money){
        cout<<"余额不足,无法操作"<<endl;
    }else{
        money -=m;
    }
}
class SaveAccount:public Account{
private:
    static float yearrate;
public:
    SaveAccount(int id,char *name,int money):Account(id,name,money){}
    float AMouthrate(int Mouthrate);
    void print();
    void reyearrate();
};
float SaveAccount::yearrate =0.03;
float SaveAccount::AMouthrate(int Mouthrate){
    Mouthrate= money*yearrate/12;
    return Mouthrate;
}
void SaveAccount::print(){
    cout<<"账户"<<id<<endl;
    cout<<"姓名"<<name<<endl;
    cout<<"余额"<<money<<endl;
    cout<<"年利率"<<yearrate<<endl;
}
void SaveAccount::reyearrate(){
    int m;
    cout<<"请输入你想要修改的的数值"<<endl;
    cin>>m;
    yearrate = m;
    cout<<"年利率为:"<<yearrate<<endl;
}
int main() {
    SaveAccount zhangsan(1, "zhangsan", 50000);
    zhangsan.print();
    int m;
    cout << "请选择操作" << endl;
    cout << "1.存钱  " << "2.取钱  " << "3.打印信息  " << "4.计算月利息   " << "5.修改年利率" << endl;
    cin >> m;
    switch (m) {
        case 1: {
            int c;
            cout << "请输入存款金额" << endl;
            cin >> c;
            zhangsan.Inmoney(c);
            zhangsan.print();
            break;
        }
        case 2: {
            int c;
            cout << "请输入取款金额" << endl;
            cin >> c;
            zhangsan.outmoney(c);
            zhangsan.print();
            break;
        }
        case 3: {
            zhangsan.print();
            break;
        }
        case 4: {
            int c;
            cout << "月利息是:" <<  zhangsan.AMouthrate(c) << endl;
            break;
        }
        case 5: {
            zhangsan.reyearrate();
        }
    }
    return 0;
}

 

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

diary_chao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值