银行账户管理程序
/*银行账户管理 问题描述 设计一个银行账户管理程序,账户的信息有账号(唯一) 、姓名、余额、身份证号码、单位、 电话号码、 地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有 多个户头, 账户的数值没有上限。*/ #include #include #include using namespace std; class consumer; 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;//账户数 }; class consumer:public YH//用户类,继承银行类的属性 { public: friend class YH; consumer(int id,string Name,string PassWord,float m) { ID=id;name=Name;money=m;passwd=PassWord; } consumer(){ID=0;name= 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; //开户金额 }; void YH::save() {ofstream ofile(“bankdat.dat“,ios::out); ofstream outfile(“bankdat.dat“,ios::out); int n=0; outfileacnum; for(n=0;nid; infilem; infilenam; infilepassw;account[n]-passwd; consumer * acc = new consumer(id,nam,passw,m); account[n] = acc; } infile.close(); coutid; int flag = 1; int i = 0; while((iget_id()) flag = 0; else i++; } if(flag) { coutb; while(bb; } if(account[x]-get_money()add_money(b);} return; } /*账户金额计算*/ 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(); } /*主界面显示*/ void YH::functionshow() { int n; do {system(“cls“); load(); coutn; while(n4) { coutn; } switch(n) { case 1: set_account();//开户 break; case 2:enter_account();//登录 break; case 3: del_account();//注销 break; case 4: exitYH();//退出 break; } cin.get(); } while(true); } void YH::enter_account() {int id; coutpassw; if(passw!=account[i]-get_passwd()) return; account[i]-display();cin.get();cin.get(); int n; do{system(“cls“); coutn; switch(n) {case 1: account[i]-display();break; case 2: account[i]-fetchmoney();save();break; case 3:account[i]-savemoney();save();break; case 4:account[i]-change_passwd();save();break; case 5:transfer(i);save();break; case 6:return; }cin.get();cin.get(); } while(1); } void YH::set_account() { int id; string nam; string passw; float m; coutid; coutnam; coutpassw; coutm; while(mm; } consumer * acc = new consumer(id,nam,passw,m); account[acnum] = acc; coutid; int flag = 1; int i = 0; while((iget_id()) { flag = 0; } else { i++; } } if(flag) { coutpwd; coutm; while(mm; } if(moneych; while(ch!= n } }while(ch== y ||ch== Y ); } void consumer::savemoney()//存钱函数功能实现 { float c; char ch; do { coutc; while(cc; } money=money+c; coutch; while(ch!= n } }while(ch== y ||ch== Y ); } int YH::acnum=0; void consumer::display()//用户信息界面 {system(“cls“);