- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c面向对象银行ATM
c++面向对象程序设计 银行ATM模拟程序 一、主要功能 1、ATM机类:“单笔取款最高限制”、“每日取款总金额限制”、“金额”等属性。 需要实现:“核对密码”、“修改密码”、“取款”、“查询信息”、“退出系统”、“锁机吞卡”等功能。 2、银行卡类:“用户姓名”、“用户密码”、“存款额”等属性。需要实现:“身份验证”、“查询余额”、“修改密码”、“交易成功更改余额”等操作。 二、模拟操作过程 1、显示welcome界面 2、核对卡号,密码是否正确。若正确进入系统,若卡号错误提示卡号错误重新输入,若密码错误提示。三次输入错误吞卡 3、修改密码:修改银行卡密码 4、查询余额 5、取款,并更新余额 6、转账:输入目标账户及转账金额 三、系统分工 功能 负责人 程序结构 刘超 ATM类 刘一坤 银行卡类 王辉 欢迎界面 任爱华 功能菜单 田涌泉 修改密码 高圣楠 取款 许晓辉 银行卡信息、锁定清屏 肖培 ppt制作 郭玮玥 四、程序流程图 退出系统 Y 开始 输入卡号和密码 卡号、密码是否正确 修改密码 取款 查询余额 输入旧密码 密码是否正确 新密码 再次输入新密码 两次密码是否一致 输入金额 金额是否足够 出钞 更新余额 是否继续取款 Y N N 是否三次错误 N N N N Y Y Y N 五、主程序 #includeiostream.h #includestring.h #includestdlib.h class ATM //ATM取款机类的定义 { public: ATM(Card bc):CardAtATM(bc)//初始化变量bc { once = 5000.0; left = 20000.0; } void welcome();//登陆界面 bool checkpasswd(char n[],char pwd[]);//核对所输卡号,密码 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 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 passwd[8];//存储用户密码 char name[20];//存储用户姓名 char num[20];//存储银行卡号 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()//取得银行卡号 { return num; } char* Card::getpasswd()//取得银行卡密码 { return passwd; } void Card::setmoney( float m)//更新银行卡余额 { money=money-m; } void Card::setpasswd(char pwd[
您可能关注的文档
- An American Love Affair.ppt
- Ancient Egyptian clothes古埃及服装特点.pptx
- android与ios操作系统应用差异.pptx
- andriod必背面试题.doc
- Android_09-Android安全机制.pptx
- Anne lived in Amsterdam in the Netherlands during World War II.ppt
- ANSI.TIA-942-数据中心的电信基础设施标准.doc
- Android应用安全开发之浅谈加密算法的坑.docx
- android内存泄露测试方法.docx
- ANSYS初学使用的一些功能,快速上手.docx
最近下载
- EN_IEC_60034-14-2018 旋转电机 - 第 14 部分:轴高 56 mm 及以上的某些机器的机械振动 - 振动严重程度的测量、评估和限制 (IEC 60034-14-2018).pdf VIP
- 提高PICC导管维护规范率..pptx
- Module 1 Wonders of the world Unit 1课件-外研九上(含音频+视频).pptx VIP
- 职业病诊断医师资格考试试题带答案.docx VIP
- 大学试题《工业通风与除尘》考试题库无答案.doc VIP
- 本科十四五教材针灸治疗学呃逆PPT课件.pptx VIP
- 中药材产业发展情况调研报告-中药材产业发展存在的问题及对策建议.pdf VIP
- T/CASEI62001—2019 起重机械 安全状况评估.pdf VIP
- ISO9001:2015质量管理体系标准培训.pptx VIP
- (2025秋新版)教科版科学三年级上册全册PPT课件.pptx
文档评论(0)