版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、c+面向对象程序设计银行ATM模拟程序一、主要功能1、ATM机类:“单笔取款最高限制”、“每日取款总金额限制”、“金额”等属性。需要实现:“核对密码”、“修改密码”、“取款”、“查询信息”、“退出系统”、“锁机吞卡”等功能。2、银行卡类:“用户姓名”、“用户密码”、“存款额”等属性。需要实现:“身份验证”、“查询余额”、“修改密码”、“交易成功更改余额”等操作。二、模拟操作过程1、显示welcome界面2、核对卡号,密码是否正确。若正确进入系统,若卡号错误提示卡号错误重新输入,若密码错误提示。三次输入错误吞卡3、修改密码:修改银行卡密码4、查询余额5、取款,并更新余额6、转账:输入目标账户及转
2、账金额三、系统分工四、程序流程图退出系统Y开始输入卡号和密码卡号、密码是否正确修改密码取款查询余额输入旧密码密码是否正确新密码再次输入新密码两次密码是否一致输入金额金额是否足够出钞更新余额是否继续取款YNN是否三次错误NNNNYYYN五、主程序#include#include#includeclass ATM /ATM取款机类的定义 public:ATM(Card& bc):CardAtATM(bc)/初始化变量bconce = 5000.0;left = 20000.0;void welcome();/登陆界面bool checkpasswd(char n,char pwd);/核对
3、所输卡号,密码void changepasswd();/修改密码void fetchmoney();/取款void information();/显示插入ATM机中的银行卡信息void exit();/退出系统void function();/功能界面void lock();/锁卡,退出系统void Clear(); private:int times;/记录密码次数float total;/记录本ATM机存款总额float left;/记录取款机剩余金额float once;/记录取款单笔最高金额Card& CardAtATM;/插入ATM机的银行卡信息;/Card类的声明class
4、 Card/银行卡类public:friend class ATM;/将ATM类设置为BankCard类的友元类Card(char Name,char Num,float Money,char Password);protected:char* getname();/取得银行卡姓名char* getnum();/取得银行卡号char* getpasswd();/取得银行卡密码float getmoney();/取得银行卡余额void setpasswd(char pwd);/设置银行卡密码void setmoney(float m);/更新银行卡金额private:char passwd8;/
5、存储用户密码char name20;/存储用户姓名char num20;/存储银行卡号float money;/存储银行卡金额;Card:Card(char Name,char Num,float Money,char Password)strcpy(name,Name);strcpy(num,Num);money = Money;strcpy(passwd,Password);float Card:getmoney()/取得银行卡金额return money;char* Card:getname()/取得银行卡姓名return name;char* Card:getnum()/取得银行卡号r
6、eturn num;char* Card:getpasswd()/取得银行卡密码return passwd;void Card:setmoney( float m)/更新银行卡余额money=money-m;void Card:setpasswd(char pwd)/设置银行卡密码strcpy(passwd,pwd);/ATM类的成员函数实现void ATM:welcome()/显示欢迎界面 char ch; char num8;char pwd8;times = 0;couttt欢迎使用!endl;int i = 0; doi = 0;coutendlnum; coutendlpwd; if
7、(!checkpasswd(num,pwd)/检查卡号、密码是否正确coutendl你输入的卡号或密码有误,请重新输入endl;times+;elsefunction();/检查合格,显示功能界面while(times3);/卡号、密码输错超过3次,锁卡退出系统lock();bool ATM:checkpasswd(char num,char pwd)/检查卡号、密码是否正确if(strcmp(num,CardAtATM.getnum()=0 & strcmp(pwd,CardAtATM.getpasswd()=0)return true;elsereturn false;void A
8、TM:function()/显示功能菜单int n;do coutendl*endl; coutendltt欢迎使用!endl;void ATM:function()/显示功能菜单int n;do coutendl*endl; coutendltt欢迎使用!endl;couttt1)修改密码endl;couttt2)取款endl;couttt3)查询余额endl;couttt4)退出系统endl;cout*endl;coutn;while(n4)coutendln;Clear();switch(n)case 1:changepasswd();/选择修改秘密Clear();break;case
9、2:fetchmoney();/选择取款Clear();break;case 3:information();/选择查询余额break;case 4:exit();/选择退出系统break;while(true);void ATM:changepasswd()/修改卡密码 char pwd8,repwd8;times=0;docoutendlpwd;if(!checkpasswd(CardAtATM.getnum(),pwd) times+; coutendl旧密码输入错误请重新输入; Clear();elsebreak;while(times3);if(times=3)/3次都没有输入正确的
10、旧密码,则锁卡退出系统lock();int t=0;docoutendlpwd;coutendlrepwd;if(t=strcmp(pwd,repwd)!=0) coutendl您输入的密码不一致,请重新输入; Clear();while(t!=0);AtATM.setpasswd(pwd);coutendl密码修改成功,请妥善保管!;/调用Card类的成员函数setpasswd设置新密码void ATM:fetchmoney()/取款float m;char ch;docoutendlm;while(m=0)/金额不能为负的coutendlm;if(CardAtATM.getmoney()-
11、m0)coutendlonce)coutendlleft)coutendl本取款机余额不足!;elsecoutendl正在出钞!;left=left-m;CardAtATM.setmoney(m); Clear();coutendlch;while(ch!=n&ch!=N&ch!=y&ch!=Y)cinch;while(ch=y|ch=Y);void ATM:information()/显示银行卡信息cout*endl;cout*用户姓名:CardAtATM.getname()endl; cout*卡号:CardAtATM.getnum()endl;cout*余额:CardAtATM.getmoney()endl;cout*endl;void ATM:loc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小小口算社团练习课后数学活动记录
- 学校食堂食品安全整改措施
- 学校课外活动安全制度
- 物业管理区域物业服务工作规范管理细则
- 物业巡楼人员安全生产岗位责任书
- 小长假前置学习|单词打卡与词汇量拓展资料
- 市政管网仿真模拟摸底题库卷含完整答案
- 电商平台数据库运维历年真题专项(附答案)
- 资料图表基础阶段达标检测卷含完整答案
- 中西餐运营管控全真模拟冲刺密卷含完整答案
- 石油化工静电接地设计规范(-)
- 中介合同模板合集
- 国际禁毒日珍爱生命教育主题宣传课件
- JC∕T 60016-2022 建筑用免拆复合保温模板应用技术规程
- TWHDQHX 006-2023 电化学储能电站运行规程
- 2023江苏徐州开放大学招聘专业技术人员7人考试备考试题及答案解析
- 部编版三年级语文上册单元测试-第五单元 达标测试卷及答案
- 《结构全寿命维护》教材
- 实验室生物安全管理体系
- 底吹炉本体第四次大修方案
- GB/T 18916.50-2020取水定额第50部分:聚酯涤纶产品
评论
0/150
提交评论