要求:
(1) 类中的成员函数具有输入、输出储户上述信息的功能;
(2) 将账号设计成不可更改;
(3) 修改密码时要提供原始密码。
开发工具vc6.0++
#include <iostream>
#include <string.h>
using namespace std;
class Account{
protected:
int id;
char name[15];
int money;
public:
Account(int id);
Account(int id,char *name, int money);
void inMoney(int m);
void outMoney(int m);
void print();
};
Account::Account(int id):id(id) {
}
Account::Account(int id,char *name, int money):id(id),money(money){
strcpy(name,name);
}
void Account::inMoney(int m){
money +=m;
}
void Account::outMoney(int m){
if(m>money){
cout<<"金额不足,无法操作"<<endl;
}else{
money -=m;
}
}
void Account::print(){
cout<<"编号:"<<id<<endl;
cout<<"名字:"<<name<<endl;
cout<<"余额:"<<money<<endl;
}
class SaveAccount:public Account{
protected:
char password[15];
char address[15];
int minmoney;
int rate;
public:
SaveAccount(int id,char *name,int money,char *password,char *address,int minmoney,int rate);
SaveAccount(int id);
void repassword(char *repassword);
void in();
void out();
};
SaveAccount::SaveAccount(int id,char *name,int money,char *password,char *address,int minmoney,int rate):Account(id,name,money),minmoney(minmoney),rate(rate){
strcpy(password,password);
strcpy(address,address);
}
SaveAccount::SaveAccount(int id):Account(id){}
void SaveAccount::repassword(char *repassword){
cin>>repassword;
strcpy(password,repassword);
}
void SaveAccount::out(){
Account::print();
cout<<"密码:"<<password<<endl;
cout<<"地址:"<<address<<endl;
cout<<"最小余额::"<<minmoney<<endl;
cout<<"利率::"<<rate<<endl;
}
void SaveAccount::in(){
cout<<"请输入名字:"<<endl;
cin>>name;
cout<<"请输入余额:"<<endl;
cin>>money;
cout<<"请输入密码:"<<endl;
cin>>password;
cout<<"请输入地址:"<<endl;
cin>>address;
cout<<"请输入最小余额:"<<endl;
cin>>minmoney;
cout<<"请输入利率:"<<endl;
cin>>rate;
}
int main(){
SaveAccount zhangsan(1);
zhangsan.in();
cout<<"请选择操作"<<endl;
cout<<"1.存款"<<endl<<"2.取款"<<endl<<"3.修改密码"<<endl;
int n,m;
cin>>n;
switch(n){
case 1:{ cin>>m;
zhangsan.inMoney(m);
zhangsan.out();
break;
}
case 2:{ cin>>m;
zhangsan.outMoney(m);
zhangsan.out();
break;
}
case 3:{ char *repassword;
cin>>repassword;
zhangsan.repassword(repassword);
zhangsan.out();
break;
}
}
return 0;
}