c++ ABCBank项目(三)

来源:互联网 发布:手机总是弹出淘宝页面 编辑:程序博客网 时间:2024/06/10 14:18

                    银行职工的注册与登录弄好后,也即是开始与客户端进行直接的交流,一共有八个功能,大家应该也知道是那些操作内容,为了使客户端的主函数看上去更加清晰,决定将每一个功能都分别放在一个函数内,用到时就调用:


在进行各种操作之前客户需要先注册好个人信息,创建一个属于客户的类,存放客户的个人信息和其他的操作,为了方便,避免重复的操作指令,自己将客户的类继承了职工的类,这样服务器操作时,能同时访问此时客户和操作职工的个人信息,下面是存放客户信息类的代码:

//客户个人信息class client:public user{private:string cliname;            //开户姓名string identity;           //身份证string clipassword;       //密码string reclipassword;      //确认密码double    RMB;                //开户金额(存取金额)double    rest ;              //余额static double sum;public:int cliid ;            //账号int otherid;           //他人账号string mydate ;        //日期int caozuohao ;        //操作职工号string bankname ;      //银行名字string linshi ;         void setclient(string name,string myidentity,string password,string repassword,double money,double yue1);void setcliname(string name);void openAccount();        //开户  void cancelAccount();      //销户  void save();               //存款  void withdraw();           //取款  void showAccount();        //查询余额  void transferAccounts();   //转账  void updataPassword();     //更改密码  int record();              //账户明细记录  string shcliname();string shidentity();string shclipassword();string shreclipassword();double shrmb();double shrest();};
客户注册好个人信息后,便是各种功能操作,在这些操作里不仅会涉及到数据库的操作还会有文件的操作,因为在这之中有查看自己账户记录等一些功能,客户的存取操作会有很多,倘若将这些内容全部放到数据库中,数量很大不仅浪费资源而且找起来并打印给客户看时会很麻烦,所以这里便使用文件操作,将每一个客户的存取,转账都会在记录在不同的客户文件里,打印时只需打开对应的文件并全部读出来即可,下面是文件的操作代码:

将数据存放到文件中:

ofstream outfile;char repair[50];sprintf(repair,"%s的存折账单.txt",(object->shcliname()).c_str());outfile.open(repair,ios::binary | ios::app);outfile.write((char *)&table,sizeof(table));outfile.close();

数据从文件中读取并打印:

ifstream infile ;char buff[100];sprintf(buff,"E:\\gongzuobiao\\课堂程序\\c++\\c++项目.服务器\\c++项目\\%s的存折账单.txt",(preclient.shcliname()).c_str());infile.open(buff,ios::binary);int temper = 1 ;cout<<"银行  "<<"操作工号  "<<"户名  "<<"身份证  "<<"账号  "<<"日期  "<<"存取款  "<<"利息  "<<"余额"<<endl;while(temper){look *p = new look ;if(infile.read((char *)p,sizeof(look))){cout<<p->bank<<"  "<<p->yuangong<<"  "<<p->name<<"  "<<p->identity<<"  "<<p->id<<"  "<<p->date<<"  "<<p->cunqu<<"  "<<p->lixi<<"  "<<p->rest<<endl;}else{temper = 0 ;}free(p) ;}

传到文件中的是一个结构体而不是客户的类,结构体中只留下了客户的一些重要信息:银行名称,户名,身份证,余额,利息等,接下来就是每个功能的具体操作。

0 0
原创粉丝点击