7.收获及体会
这次课程设计收获了好多,通过这次课设,又进一步巩固了课本上的知识,更加熟练的使用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出这些功能,提高了自己编程水平、分析问题、解决问题的能力。
8.参考文献 [1]高俊文。c/c++程序设计 。北京:人民邮电出版社,2005 [2]谭浩强。C++程序设计。北京:清华大学出版社,2004
9.附录
源程序:
#include
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,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; };
void YH::save()
{ofstream ofile(\以输出方式打开文件
ofstream outfile(\以输出方式打开文件 bankdat.dat接收从内存输出的数据 int n=0;
outfile< {outfile< outfile.close();         }   /*读入用户信息功能实现*/ 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<<\读取资料正常!\}   /*转账功能实现*/ 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; }  /*账户金额计算*/  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(\ 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)    {