您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 简易银行管理系统C++版
#includeiostream#includeiomanip#includetime.h#includestring.h#includestdlib.husingnamespacestd;structClient{charname[20];//姓名charID_num[20];//身份证号码characcount[20];//账号charpassword[20];//密码charaddress[20];//住址chartype[20];//存款类型doublemoney;//金额boolIsLost;boolIsLock;Client*link;Client(Client*ptr=NULL){link=ptr;}Client(charn[],chari[],chara[],charp[],charq[],chart[],doublem,Client*ptr=NULL){//构造函strcpy_s(name,n);strcpy_s(ID_num,i);strcpy_s(account,a);strcpy_s(password,p);strcpy_s(address,q);strcpy_s(type,t);money=m;link=ptr;}voidDeposit(){//存款doublem;cout\n\n\t\t请输入存款金额:\t\t\b\b\b\b\b\b\b\b\b\b\b;cinm;money=money+m;cout\n\n\t\t**********存款成功!***********;cout\n\n\t\t**********************************;cout\n\n\n\n;cout\t\t_____________________存款单_____________________\n;coutendl;cout\t\t_______________________THELIST______________________\n;cout\t\t||姓名:||nameendl;;cout\t\t||账号:||accountendl;cout\t\t||本次存款:||mendl;cout\t\t||可用余额:||moneyendl;coutendl;}voidWithdrawals(){//取款doublem;while(1){cout\n\n\t\t请输入取款金额:\t\t\b\b\b\b\b\b\b\b\b\b\b;cinm;if(m0){if(moneym){cout\n\n\t\t**********对不起,您的余额不足*************endl;}else{money=money-m;cout\n\n\t\t**********交易成功***********;cout\n\n\t\t**********************************;cout\n\n\n\n;cout\t\t_____________________取款单_____________________\n;coutendl;cout\t\t_______________________THELIST______________________\n;cout\t\t||姓名:nameendl;cout\t\t||账号:accountendl;cout\t\t||本次取款:mendl;cout\t\t||可用余额:moneyendl;coutendl;break;}}elsecout\n\n\t\t**********你输入的金额有误,请输入数值大于0的金额数!*************endl;}}voidChangPassword(){//修改密码charnewPassword1[20],newPassword2[20];for(inti=0;i20;i++){newPassword1[i]='\0';newPassword2[i]='\0';}while(1){cout\n\n\t\t请输入新密码:\t\t\t\t\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;cinnewPassword1;coutendl;cout\n\n\t\t请再次输入密码:\t\t\t\t\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;cinnewPassword2;if(strcmp(newPassword1,newPassword2)==0){strcpy_s(password,newPassword1);cout\n\n\t\t**********密码修改成功!***********endl;break;}coutendl;cout\n\n\t\t**********两次输入的密码不一致,请重新输入!***********;}}/**打印分割行*/voidprintSeperatorLine(intFIELD_NUM,intFIELD_WIDTH){cout\n;cout|;//FIELD_NUM定义为全局只读变量,表示用户信息域的数量,这里只有姓名,ID,账号,余额,存款类型,住址所以是6//FIELD_WIDTH定义为只读全局变量,用来控制输出显示表格中提供给每个域的宽度,这个可以根据自己显示器的宽度进行适当调整for(intk=0;kFIELD_NUM;++k){for(inti=0;iFIELD_WIDTH;++i){cout-;}cout|;}coutendl;}voidprintHeadLine(intFIELD_WIDTH){cout|;//设置输出“姓名”长度为18,不够18个字符则用空格字符填补,设置为靠左对齐(没有居中对齐),如果超过18个字符,那么会被截断为18个字符coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)姓名|;coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)ID|;coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)账号|;coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)余额|;coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)存款类型|;coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)住址|;}/**查询个人卡中信息*/voidInquiryIndividual(){inty=6,FIELD_WIDTH=18,x=18;printSeperatorLine(y,x);printHeadLine(x);printSeperatorLine(y,x);cout|setw(FIELD_WIDTH)setfill('')setiosflags(ios::left)name|;coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)address|;coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)account|;coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)money|;coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)type|;coutsetw(FIELD_WIDTH)setfill('')setiosflags(ios::left)address|;printSeperatorLine(y,x);}};classsystem{private:Client*first,*last;public:system(){last=first=newClient();}system(charn[],chari[],chara[],charp[],charq[],chart[],doublem){last=first=newClient(n,i,a,p,q,t,m);}~system(){makeEmpty();}voidmakeEmpty();intLength()const;//intIsEqual(charh[],charn[]);//判断两个字符串是否相等Client*getHead()const{returnfirst;}Client*Search(charh[]);//在链表中搜索与给定字符串相等的节点,返回节点地址Client*SearchA(charh[]);//在链表中搜索与给定字符串(账号)的节点Client*Locate(inti);boolAppend(charn[],chari[],chara[],charp[],charq[],chart[],doublem);//添加一个节点到链表尾端boolRemove(intk);boolIsEmpty()const{returnfirst-link==NULL?true:false;}//判断链表是否为空voidCreatAccount();//创建一个账号voidUsersLogIn();//用户登录voidReportTheLost();//挂失银行卡voidResetPassword();//重置密码voidCancelUsers();//注销用户voidTransfer(Client*&c1);//转账:从c1节点的客户转账到其他客户voidMenu();//主菜单}s;voidsystem::makeEmpty(){Client*q;while(first-link!=NULL){q=first-link;first-link=q-link;deleteq;}};intsystem::Length()const{Client*p=first-link;intcount=0;while(p!=NULL){p=p-link;count++;}returncount;};Client*system::Search(charh[]){//搜索与给定字符串相等的节点,返回节点地址,若没有搜索到,返回NULLClient*current=first-link;while(current!=NULL)if(strcmp(h,current-ID_num)==0)break;elsecurrent=current-link;returncurrent;};Client*system::SearchA(charh[]){Client*current=first-link;while(current!=NULL){if(strcmp(h,current-account)==0)break;elsecurrent=current-link;}returncurrent;};Client*system::Locate(inti){if(i0)returnNULL;Client*current=first;int
本文标题:简易银行管理系统C++版
链接地址:https://www.777doc.com/doc-6510204 .html