简易银行卡管理系统C++实现(软件工程).doc
《简易银行卡管理系统C++实现(软件工程).doc》由会员分享,可在线阅读,更多相关《简易银行卡管理系统C++实现(软件工程).doc(13页珍藏版)》请在沃文网上搜索。
1、#include#include #include#includeusing namespace std;struct Clientchar name20; /姓名char ID_num20; /身份证号码char account20; /账号char password20; /密码double money; /金额bool IsLost; /是否挂失bool IsLock; /银行卡是否被锁定Client * link;Client(Client * ptr=NULL)link=ptr;Client(char n,char i,char a,char p,double m,bool Is,b
2、ool IL,Client * ptr=NULL) /构造函数strcpy_s(name,n);strcpy_s(ID_num,i);strcpy_s(account,a);strcpy_s(password,p);money=m;IsLost=Is;IsLock=IL;link=ptr;void Deposit() /存款 double m;coutnntt请输入存款金额:bbbbbbbbbbb;cinm;money=money+m;coutnntt*存 款 成 功 !*;coutendl;void Withdrawals() /取款double m;while(1)coutnntt请输入取
3、款金额:bbbbbbbbbbb;cinm;if(m0)if(moneym)coutnntt*对不起,您的余额不足*endl; elsemoney=money-m;coutnntt*交 易 成 功*;coutendl;break;else coutnntt*你输入的金额有误,请输入数值大于0的金额数!*endl;void ChangPassword() /修改密码char newPassword120,newPassword220;for(int i=0;i20;i+)newPassword1i=0;newPassword2i=0;while(1)coutnntt请输入新密码:bbbbbbbbb
4、bbbbbbbbbbb;cinnewPassword1;coutendl;coutnntt请再次输入密码:bbbbbbbbbbbbbbbbbbbb;cinnewPassword2;if(strcmp(newPassword1,newPassword2)=0)strcpy_s(password,newPassword1);coutnntt*密码修改成功!*endl;break;coutendl;coutnntt*两次输入的密码不一致,请重新输入!*;/* *打印分割行 */void printSeperatorLine(int FIELD_NUM,int FIELD_WIDTH)coutn;co
5、ut|;/FIELD_NUM定义为全局只读变量,表示用户信息域的数量,这里只有姓名,ID,账号,余额所以是4/FIELD_WIDTH定义为只读全局变量,用来控制输出显示表格中提供给每个域的宽度,这个可以根据自己显示器的宽度进行适当调整for(int k = 0; k FIELD_NUM; +k)for(int i = 0; i FIELD_WIDTH; +i)cout-;cout|;coutendl;void printHeadLine(int FIELD_WIDTH)cout|;/设置输出“姓名”长度为18,不够18个字符则用空格字符填补,设置为靠左对齐(没有居中对齐),如果超过18个字符,
6、那么会被截断为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)余额|;/* *查询个人卡中信息 */void InquiryIndividual() int y=4,FIELD_WIDTH=18,x
7、=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)ID_num|;coutsetw(FIELD_WIDTH)setfill( )setiosflags(ios:left)account|;coutsetw(FIELD_WIDTH)setfill( )setiosflags(ios:left
8、)moneylink=NULL? true:false; /判断链表是否为空void CreatAccount(); /创建一个账号void UsersLogIn(); /用户登录void ReportTheLost(); /挂失银行卡void ResetPassword(); /重置密码void CancelUsers(); /注销用户void InquiryUsers(); /查询用户信息void Unlost(); /解除银行卡的挂失状态void UnLock(); /解除银行卡的锁定状态void Transfer(Client * &c1); /转账:从c1节点的客户转账到其他客户vo
9、id Menu(); /主菜单s;void system:makeEmpty() Client * q;while(first-link!=NULL)q=first-link;first-link=q-link;delete q;int system:Length()constClient * p=first-link;int count=0;while(p!=NULL)p=p-link;count+;return count;Client * system:Search(char h) /搜索与给定字符串相等的节点,返回节点地址,若没有搜索到,返回NULLClient * current=f
10、irst-link;while(current!=NULL)if(strcmp(h,current-account)=0)break;else current=current-link;return current;Client * system:Locate(int i)if(i0) return NULL;Client * current=first;int k=0;while(current!=NULL&klink;k+;return current;bool system:Append(char n,char i,char a,char p,double m,bool Is,bool
11、IL) /添加一个节点到链表尾端Client * newNode=new Client(n,i,a,p,m,Is,IL);last-link=newNode;newNode-link=NULL;last=last-link;return true;void system:CreatAccount() /创建一个客户账号信息,若账号重复,则需重新输入账号;若两次密码输入不一致,则需重新输入密码char n20;char r20;char a20;for(int i=0;i20;i+)ni=0;ri=0;ai=0;coutnntt请输入姓名:bbbbbbbbbbbbbbbbbbbb;cinn; /
12、输入姓名coutendl;coutnntt请输入ID号:bbbbbbbbbbbbbbbbbbbb;cinr; /输入ID号coutendl;while(1)coutnntt请输入账户号:bbbbbbbbbbbbbbbbbbbb;cina; /输入账户号Client * current1=Search(a); /在银行卡系统链表中搜索此账户,并判断链表中是否存在此账户if(current1!=NULL) coutnntt*该账号已存在,请重新输入账号!*bbbbbbb;else break;char Password120,Password220;for(int i=0;i20;i+)Passw
13、ord1i=0;Password2i=0;while(1)coutnntt请输入新密码:bbbbbbbbbbbbbbbbbbbb;cinPassword1;coutendl;coutnntt请再次输入密码:bbbbbbbbbbbbbbbbbbbb;cinPassword2;if(strcmp(Password1,Password2)=0)break;coutendl;coutnntt*两次输入的密码不一致,请重新输入*;double m=0.0;bool Is=false;bool IL=false;Append(n,r,a,Password1,m,Is,IL); /将用户信息收集之后,加入到
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 银行卡 管理 系统 C+ 实现 软件工程