首页 > 编程 > C++ > 正文

c++ ABCBank项目(三)

2019-11-08 01:48:47
字体:
来源:转载
供稿:网友

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

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

//客户个人信息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) ;					}			传到文件中的是一个结构体而不是客户的类,结构体中只留下了客户的一些重要信息:银行名称,户名,身份证,余额,利息等,接下来就是每个功能的具体操作。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选