关闭

银行系统

88人阅读 评论(0) 收藏 举报
#include <iostream>
#include <string>


using namespace std;


class Account
{
public:
Account(string a,string b,double bal);
virtual void saving(double a);
virtual void getOutMoney(double a);
virtual void showme();
string getId();




private:
string Account_name;
string name;
double balance ;




};


class NormalAccount:public Account
{
public:
NormalAccount(string a,string b,double bal):Account(a,b,bal)
{


}
private:
string Account_name;
string name;
double balance ;
};


class VIPAccount:public Account
{
public:
VIPAccount(string a,string b,double bal,double d,double e):Account(a,b,bal),tzsx(d),tzze(e)
{


}
void getOutMoney(double a);
void showme();




private:
string Account_name;
string name;
double balance ;
double tzsx;
double tzze;




};


Account::Account(string a,string b,double bal)
{
Account_name = a;
name = b;
balance = bal;
}


void Account::saving(double a)
{
balance = balance + a;
}


void Account::getOutMoney(double a)
{
if(a > balance)
cout<<"余额不足"<<endl;
else
{
balance = balance - a;
cout << "已取出" << a << "元" <<endl;
}
}


void Account::showme()
{
cout << "用户账号为" << Account_name << endl;
cout << "开户人姓名" << name <<endl;
cout << "账户余额为" << balance <<endl;
}


string Account::getId()
{
return Account_name;
}


void VIPAccount::getOutMoney(double a)
{
if(a >balance + tzsx -tzze)
cout<<"不可透支"<<endl;
else
balance = balance - a;


}


void VIPAccount::showme()
{
cout << "用户账号为" << Account_name << endl;
cout << "开户人姓名" << name <<endl;
cout << "账户余额为" << balance <<endl;
cout << "透支上限为" << tzsx <<endl;
cout << "透支总额为" << tzze <<endl;


}


class Bank
{
public:
Bank();
void append1();
void append2();
void del();
void query();
Account *account[100];
private:


int accNum;
double Balance;


};


Bank::Bank()
{
for(int i = 0;i < 100 ; i++ )
{
account[i] = NULL;
}


accNum = 0;
}


void Bank::append1()
{
string str1,str2;


cout << "请输入普通用户账号" << endl;
cin>>str1;
cout << "请输入开户人姓名" << endl;
cin>>str2;
Account *acc = new NormalAccount(str1,str2,0) ;
cout<<"增加普通账户成功"<<endl;


account[accNum] = acc;
accNum++;
}


void Bank::append2()
{
string str1,str2;


cout << "请输入高级用户账号" << endl;
cin>>str1;
cout << "请输入开户人姓名" << endl;
cin>>str2;
Account *acc = new VIPAccount(str1,str2,0,5000,0) ;
cout<<"增加高级账户成功"<<endl;


account[accNum] = acc;
accNum++;
}


void Bank::del()
{
string n;
cout << "请输入要注销的用户账号" << endl;
cin>>n;


for(int i=0;i<100;i++)
{
if(account[i]->getId() != n)
cout<<"没有这个账号"<<endl;
if(account[i]->getId() == n)
{
delete account[i];
accNum--;


}


}
}


void Bank::query()
{
string n;
cout << "请输入您要查询的用户账号" << endl;
cin>>n;


for(int i=0;i<100;i++)
{
if(account[i]->getId() != n)
cout<<"没有这个账号"<<endl;
if(account[i]->getId() == n)
account[i]->showme();
}


}


int main()
{
Bank bank;


while(1)
{
cout << "1.增加账户" << endl;
cout << "2.删除账户" <<endl;
cout << "3.查询账户" <<endl;
cout << "4.取款和存款" <<endl;
cout << "5.退出系统" <<endl;


cout << "请选择" <<endl;


int n;
cin>>n;
if(n == 1)
{
int n;
cout << "1.增加普通账户" << endl;
cout << "2.增加高级账户" << endl;
cout << "请选择" << endl;
cin>>n;


if(n == 1)
bank.append1();


if(n == 2)
bank.append2();


}


if (n == 2)
{
bank.del();
}


if (n == 3)
{
bank.query();
}


if (n == 4)
{


string n;
cout<<"请输入您要存取款的账号"<<endl;
cin>>n;
for(int i=0;i<100;i++)
{
if(bank.account[i]->getId() != n)
cout<<"账号输入错误"<<endl;
if(bank.account[i]->getId() == n)
{
int choice;


cout<<"1.取款"<<endl;
cout<<"2.存款"<<endl;
cout<<"请选择"<<endl;


cin>>choice;
if(choice == 1)
{
double jine;
cout<<"请输入取款金额"<<endl;
cin >> jine;
bank.account[i]->getOutMoney(jine);
bank.account[i]->showme();


}
if(choice == 2)
{
double qkuan;
cout<<"请输入存款金额"<<endl;
cin>>qkuan;
bank.account[i]->saving(qkuan);
bank.account[i]->showme();
}
}


}




}


if (n == 5)
return 0;
}


//return 0;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9443次
    • 积分:647
    • 等级:
    • 排名:千里之外
    • 原创:58篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条