先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户类中增加密码、地址、最小余额和利率等成员变量,并增加一些银行账户经常用到的成员函数。要求:
(1) 类中的成员函数具有输入、输出储户上述信息的功能;
(2) 将账号设计成不可更改;
(3) 修改密码时要提供原始密码。
#include "stdafx.h"
#include
#include
using namespace std;
class basicaccount
{
protected:
long int zhanghao;
public:
long int password;
basicaccount()
{
zhanghao=1658880517;
const long int *p=&zhanghao;
}
~basicaccount(){};
};
class savingaccount:public basicaccount
{
public:
string name;
int balance;
string address;
double rate;
int minbalance;
savingaccount():
basicaccount()
{
balance=1000;
rate=0.005;
minbalance=1000;
};
void get()
{
cout<<"请输入姓名:"<<endl;
cin>>name;
cout<<"请输入密码:"<<endl;
cin>>password;
cout<<"请输入地址:"<<endl;
cin>>address;
}
void put()
{
cout<<"姓名:"<<name<<endl;
cout<<"账号:"<<zhanghao<<endl;
cout<<"密码:"<<password<<endl;
cout<<"余额:"<<balance<<endl;
cout<<"地址:"<<address<<endl;
cout<<"利率:"<<rate<<endl;
cout<<"最小余额:"<<minbalance<<endl;
}
int cunkuan(int x)
{
balance+=x;
return balance;
}
int qukuan(int y)
{
balance-=y;
return balance;
}
void changepassword(int newpassword)
{
int t;
t=password;
password=newpassword;
newpassword=t;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
savingaccount s1;
s1.get();
cout<< "请输入操作:"<<endl;
cout<<"1.输出信息"<<endl<<"2.存款"<<endl<<"3.取款"<<endl<<"4.修改密码"<<endl;
int a;
while (cin>>a)
{
switch (a)
{
case 1:
s1.put();
break;
case 2:
int m;
cout<<"请输入存款金额:"<<endl;
cin>>m;
s1.cunkuan(m);
cout<<"当前余额:"<<s1.balance<<endl;
break;
case 3:
int n;
cout<<"请输入取款金额:"<<endl;
cin>>n;
s1.qukuan(n);
cout<<"当前余额:"<<s1.balance<<endl;
break;
case 4:
{
int password1,newpassword;
cout<<"请输入原始密码:"<<endl;
cin>>password1;
if (s1.password!=password1)
{
cout<<"原始密码错误!请重新选择操作!"<<endl;
}
else
{
cout<<"请输入新密码:"<<endl;
cin>>newpassword;
s1.changepassword(newpassword);
cout<<"修改成功"<<endl;
}
break;
}
}
}
return 0;
}