基于C++类与权限初识:银行系统

功能:

银行的账户是一个模板,是一个类,有存款人信息和账户额度,而具体的存款人视为一个对象,
一个对象不能私自修改账户额度,需要通过一个操作流程,比如去ATM或者柜台进行操作才能修改
到账户额度,所以,存款人信息和账户额度设计成私有权限,通过公有的操作流程,也就是公有函数去操作私有
变量。

注意:

变量与字符串一同输出要将两种类型的数据进行转换

代码:

#include <iostream>
#include <string>
#include <unistd.h>

using namespace std;

char operate;//操作
double money;//存取money
char per;//人员
double yue;//余额

class BankOfShenZhen{
private:
    string name;
    string addr;
    int age;
    double balance;//余额
public:
    void inserUserInfo(string newName,string newAddr,int newAge,double balance);//输入用户信息
    void existMoney(double amout);//存款
    void takeMoney(double amout);//取款
    double getBalance();//获取余额
    void printUserInfo();//打印用户信息
    //void changez();//修改老周信息
    //void changec();//修改老臣信息
};

BankOfShenZhen user1;
BankOfShenZhen user2;

void BankOfShenZhen::takeMoney(double amout)//取款
{
    if(balance!=0 && amout<balance){
        balance = balance-amout;
        cout<<"本次取款:"<<std::to_string(amout)<<"元"<<endl;
    }else if(amout>balance){
        cout<<"余额不足,请查询后重新取款"<<endl;
    }else{
        cerr<<"系统错误,请联系工作人员"<<endl;
    }

    //cout<<"余额:"<<balance<<"元"<<endl;
}
void BankOfShenZhen::existMoney(double amout)//存款
{
    if(balance<1000000){
        balance = balance+amout;
        cout<<"本次存款:"<<std::to_string(amout)<<"元"<<endl;
    }else if(balance>=1000000){
        cout<<"该卡存储金额已达上限,请联系工作人员"<<endl;
    }else{
        cerr<<"系统错误,请联系工作人员"<<endl;
    }
    cout<<"====================================="<<endl;
}
void BankOfShenZhen::printUserInfo()
{
    string mesTem = "账户名:" + name + ",地址:" + addr +
    ",年龄:"+ std::to_string(age) + ",存款:" + std::to_string(balance);
    cout << mesTem << endl;
}
void BankOfShenZhen::inserUserInfo(string newName, string newAddr,int newAge,double newBalance)
{
    name = newName;
    addr = newAddr;
    age = newAge;
    balance = newBalance;
}
double BankOfShenZhen::getBalance()
{
    return balance;
}
int changez()//修改老周信息
{
    while(1){
         cout<<"请输入操作:q:退出,e:存款,t:取款,p:查询余额"<<endl;
         cin>>operate;
         switch(operate){
             case 'q':
                 return 0;
             break;
             case 'e':
                 cout<<"请输入你要存多少钱?"<<endl;
                 cin>>money;
                 user1.existMoney(money);
             break;
             case 't':
                 cout<<"请输入你要取多少钱?"<<endl;
                 cin>>money;
                 user1.takeMoney(money);
             break;
             case 'p':
                 yue=user1.getBalance();
                 cout<<"您的余额"<<std::to_string(yue)<<endl;
             break;
         }
       }
}
int changec()//修改老臣信息
{
    while(1){
        cout<<"请输入操作:q:退出,e:存款,t:取款,p:查询余额"<<endl;
        cin>>operate;
        switch(operate){
            case 'q':
                return 0;
            break;
            case 'e':
                cout<<"请输入你要存多少钱?"<<endl;
                cin>>money;
                user2.existMoney(money);
            break;
            case 't':
                cout<<"请输入你要取多少钱?"<<endl;
                cin>>money;
                user2.takeMoney(money);
            break;
            case 'p':
                yue=user2.getBalance();
                cout<<"您的余额"<<std::to_string(yue)<<endl;
            break;
        }

    }
}
int main()
{
    cout << "==============欢迎进入银行管理系统!==============" << endl;
    user1.inserUserInfo("老周","浙江工商银行",22,1000);//创建用户并建立用户信息
    user2.inserUserInfo("老臣","浙江建设银行",35,5000);
    //输出用户信息
    user1.printUserInfo();
    cout<<"老周用户创建成功!"<<endl;
    user2.printUserInfo();
    cout<<"老臣用户创建成功!"<<endl;
    while(1){
        cout<<"请输入你要查看谁的资料z:老周,c:老臣,q:退出系统"<<endl;
        cin>>per;
        switch(per){
            case 'z':
                changez();
            break;
            case 'c':
                changec();
            break;
            case 'q':
                exit(-1);
            break;
        }

    }
    return 0;
}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值