consumer(int id,string Name,int Number,double IN,string Company,string Address,string PassWord,float m) {
ID=id;name=Name;number=Number;in=IN;company=Company;address=Address;money=m;passwd=PassWord; }
consumer(){ID=0;name='0';number=0;in=0;company='0';address='0';money=0;passwd='0';}
int get_id(){return ID;} void savemoney();// 取钱
string get_passwd(){return passwd;}// 取得密码 void display(); void fetchmoney(); //取钱 void change_passwd();
void add_money(float);//计算余额 void dec_money(float);//计算余额 float get_money();//卡卡转帐 private:
int ID; //开户帐号
string passwd; // 用户密码 string name; // 用户姓名 float money; //开户金额
int number;string company;string address;double in; };
(2)银行类:
class YH //银行类 {
public:
void set_account();//银行开户功能 void del_account(); //注销账户功能 void transfer(int); //转账功能
void enter_account(); //进入用户个人信息功能 void addmoney(int,float);//存款功能 void exitYH();// 退出系统 void functionshow();
void save();
void load();// 功能界面 protected:
consumer *account[20];
static int acnum;//账户数 5.2主要程序实现
(1)读入用户信息功能实现: void YH::load()
{ifstream infile(\以输入方式打开文件 if(!infile)
{cerr<<\读取错误,无资料中!\return; }
int n=0; int id,m;
string nam,passw;int number;string company;string address;double in; infile>>acnum;
for(n=0;n {infile>>id;//从磁盘文件bankdat.dat读入信息 infile>>m; infile>>nam; infile>>passw; infile>>company; infile>>number; infile>>address; infile>>in; account[n]->passwd; consumer * acc = new consumer(id,nam,number,in,company,address,passw,m); //每读入一个n开辟一段内存 account[n] = acc; //赋值首地址 } infile.close(); cout<<\读取资料正常!\} (2)转账功能实现: void YH::transfer(int x) {int id; cout<<\请输入帐号:\ cin>>id; int flag = 1; int i = 0; while((i if(id==account[i]->get_id()) flag = 0; else i++; } if(flag) { cout<<\帐号不存在!\ return ; } float b; cout< while(b<=0) { cout<<\请输入正确的数字!\cout<<\→\cin>>b; } if(account[x]->get_money() else {account[x]->dec_money(b);account[i]->add_money(b);} cout<<\转账成功!!\ return; } (3)账户金额计算实现: void consumer::add_money(float x) {money=x+money;} void consumer::dec_money(float x) {money=money-x;} void YH::addmoney(int x,float y) {account[x]->money=account[x]->money-y; } float consumer::get_money() {return money;} void main() {YH yh; yh.functionshow(); } (4)主界面显示 void YH::functionshow() { int n; do {system(\ load(); cout< cout<<\㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣\cout<<\㊣ ㊣\cout<<\㊣ 1. 开户 ㊣\cout<<\㊣ ㊣\cout<<\㊣ 2.账户登录 ㊣\cout<<\㊣ ㊣\cout<<\㊣ 3.账户注销 ㊣\cout<<\㊣ ㊣\cout<<\㊣ 4.退出系统 ㊣\cout<<\㊣ ㊣\cout<<\㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣\cout<<\→\cin>>n; while(n<1||n>4) { cout<<\操作错误,请输入正确的操作序号!\ cout<<\→\ cin>>n; } switch(n) { case 1: set_account();//开户 break; case 2:enter_account();//登录 break; case 3: del_account();//注销 break; case 4: exitYH();//退出 break; } cin.get();//输入流类istream的成员函数 } while(true); } void YH::enter_account() {int id; cout<<\请输入帐号:\ cin>>id; int flag = 1; int i = 0; //__page_break__ while((i if(id==account[i]->get_id()) flag = 0; else i++; } if(flag) { cout<<\帐号不存在!\ return; } cout<<\请输入密码:\string passw; cin>>passw; if(passw!=account[i]->get_passwd()) return;//返回到登录界面 account[i]->display();cin.get();cin.get(); int n; do{system(\ cout<<\请选择下列操作:\ cout<<\◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎\cout<<\◎ ◎\cout<<\◎ 1.查看账户信息 ◎\cout<<\◎ ◎\cout<<\◎ 2.取款 ◎\cout<<\◎ ◎\cout<<\◎ 3.存款 ◎\cout<<\◎ ◎\cout<<\◎ 4.修改密码 ◎\cout<<\◎ ◎\cout<<\◎ 5.转账 ◎\cout<<\◎ ◎\cout<<\◎ 6.返回上一菜单 ◎\cout<<\◎ ◎\cout<<\◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎\cout<<\→\cin>>n; (5)添加/删除账户功能实现: switch(n) {case 1: account[i]->display();break; case 2: account[i]->fetchmoney();save();break;//从2-5功能,每执行一次调用一次save函数,重新写入数据