欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    简易银行卡管理系统C++实现(软件工程).doc

    • 资源ID:1126048       资源大小:68.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    简易银行卡管理系统C++实现(软件工程).doc

    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); /将用户信息收集之后,加入到

    14、银行卡系统链表尾端保存coutnntt*创建账户成功!*bbbbbbb;coutendl;void system:UsersLogIn() /用户登录char LogInAccount20,LogInPassword20; for(int i=0;i20;i+)LogInAccounti=0;LogInPasswordi=0;coutnnt请输入账号:bbbbbbb;cinLogInAccount;coutIsLost=false) /账号未挂失if(current-IsLock=false) /账号未被锁定int LockCount=0; /客户每输入密码错误一次LockCount加一,当L

    15、ockCount=3时,银行卡被锁定,不能登录,需解除锁定才能使用while(LockCount3)coutnnt请输入密码:bbbbbbb;cinLogInPassword;if(strcmp(LogInPassword,current-password)=0)break;else LockCount+; coutIsLock=true;coutnnt输入密码错误三次,您的账号已被封锁!bbbbbbb;elseint w;couttn; /客户菜单coutt| (1)存款 |n;coutt| (2)转账 |n;coutt| (3)取款 |n;coutt| (4)修改密码 |n;coutt|

    16、(5)查询个人信息 |n;coutnntt 请选择操作(1-5):bb;cinw;switch(w)case 1:current-Deposit();break;case 2:Transfer(current);break;case 3:current-Withdrawals();break;case 4:current-ChangPassword();break;case 5:current-InquiryIndividual();break;else coutnnt您的账号密码输入错误已三次,禁止输入!bbbbbbbendl;else coutnnt您的账号已被挂失!bbbbbbbendl

    17、;else coutnnt不存在此用户bbbbbbbendl;return;void system:ReportTheLost() /挂失银行卡,挂失后银行不能使用char LogInAccount20;for(int i=0;i20;i+)LogInAccounti=0;coutnnt请输入账号:bbbbbbb;cinLogInAccount;coutIsLost=true;coutnnt账号挂失成功!bbbbbbbendl;elsecoutnnt不存在此用户!bbbbbbbendl;return;void system:ResetPassword() /重置密码char LogInAcco

    18、unt20;for(int i=0;i20;i+)LogInAccounti=0;coutnnt请输入账号:bbbbbbb;cinLogInAccount;coutendl;Client * current=Search(LogInAccount);if(current!=NULL)char newPassword120,newPassword220;for(int j=0;j20;j+)newPassword1j=0;newPassword2j=0;while(1)coutnnt请输入新密码:bbbbbbb;cinnewPassword1;coutendl;coutnnt请再次输入密码:bb

    19、bbbbb;cinnewPassword2;if(strcmp(newPassword1,newPassword2)=0)strcpy_s(current-password,newPassword1);coutnnt密码重置成功!bbbbbbbendl;break;coutendl;coutnnt两次密码输入不一致,请重新输入!bbbbbbb;elsecoutnnt不存在此用户!bbbbbbbendl;return;void system:CancelUsers() /注销用户char LogInAccount20;for(int i=0;i20;i+)LogInAccounti=0;cout

    20、nnt请输入账号:bbbbbbb;cinLogInAccount;coutlink;while(current!=NULL)if(strcmp(LogInAccount,current-account)=0)break;else current=current-link;p=p-link;if(current!=NULL)p-link=current-link;delete current;coutnnt注销用户成功!bbbbbbbendl;elsecoutnnt不存在此用户!bbbbbbbendl;return;void system:InquiryUsers() /查询用户信息char L

    21、ogInAccount20;for(int i=0;i20;i+)LogInAccounti=0;coutnnt请输入账号:bbbbbbb;cinLogInAccount;coutprintSeperatorLine(y,x);cout|;/设置输出“姓名”长度为18,不够18个字符则用空格字符填补,设置为靠左对齐(没有居中对齐),如果超过18个字符,那么会被截断为18个字符coutsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)姓名|;coutsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)ID|;c

    22、outsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)账号|;coutsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)余额|;coutsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)IsLost|;coutsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)IsLockprintSeperatorLine(y,x);cout|setw(FIELDWIDTH)setfill( )setiosflags(ios:left

    23、)name|;coutsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)ID_num|;coutsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)account|;coutsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)money|;coutsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)IsLost|;coutsetw(FIELDWIDTH)setfill( )setiosflags(ios:left)IsLock

    24、printSeperatorLine(y,x);elsecoutnnt不存在此用户!bbbbbbbendl;return;void system:Unlost() /解除银行卡的挂失状态char LogInAccount20;for(int i=0;i20;i+)LogInAccounti=0;coutnnt请输入账号:bbbbbbb;cinLogInAccount;coutIsLost=true)current-IsLost=false;coutnnt账号解除挂失成功!bbbbbbbendl;else coutnnt账号尚未挂失!bbbbbbbendl;elsecoutnnt不存在此用户!b

    25、bbbbbbendl;return;void system:UnLock() /解除银行卡的锁定状态char LogInAccount20;for(int i=0;i20;i+)LogInAccounti=0;coutnnt请输入账号:bbbbbbb;cinLogInAccount;coutIsLock=true)current-IsLock=false;coutnnt账号解除锁定成功!bbbbbbbendl;else coutnnt账号尚未锁定!bbbbbbbendl;elsecoutnnt不存在此用户!bbbbbbbendl;return;void system:Transfer(Clie

    26、nt * &c1) /转账char LogInAccount120,LogInAccount220;for(int i=0;i20;i+)LogInAccount1i=0;LogInAccount2i=0;while(1)coutnnt请输入需要转入的账号:bbbbbbb;cinLogInAccount1;coutnnt请再次输入需要转入的账号:bbbbbbb;cinLogInAccount2;if(strcmp(LogInAccount1,LogInAccount2)=0)break;else coutnnt两次账号输入不一致,请重新输入!bbbbbbbendl;coutendl;Clien

    27、t * c2=Search(LogInAccount1);if(c2!=NULL)double output;while(1)coutnnt请输入需要转出的金额:bbbbbbb;cinoutput;if(output=0)coutnnt请输入金额大于0的数!bbbbbbbc1-money) cout您卡中当前余额为:money 余额不足!请重新输入!money=c1-money-output;c2-money=c2-money+output;coutnnt转账成功!bbbbbbbendl;elsecoutnnt不存在此用户!bbbbbbbendl;return;void system:Menu() /主菜单int v;coutnnnn;coutttn;coutendl;coutttn;couttt| (1)创建新用户 |n;couttt| (2)用户


    注意事项

    本文(简易银行卡管理系统C++实现(软件工程).doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922