基于C++语言编程设计开发的银行ATM自助取款机——毕业设计学位论文范文模板参考资料_第1页
基于C++语言编程设计开发的银行ATM自助取款机——毕业设计学位论文范文模板参考资料_第2页
基于C++语言编程设计开发的银行ATM自助取款机——毕业设计学位论文范文模板参考资料_第3页
基于C++语言编程设计开发的银行ATM自助取款机——毕业设计学位论文范文模板参考资料_第4页
基于C++语言编程设计开发的银行ATM自助取款机——毕业设计学位论文范文模板参考资料_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要演示程序时,初始卡号和密码为123456,系统能登录ATM柜员机系统,进入功能界面,根据功能界面的提示,然后由用户进行相应的功能操作。本程序使用C+语言,操作时,使用文本命令行界面。该程序还需要一些改进,就是没有采用图形菜单界面。关键词:登陆界面 修改密码 取款 查询信息 功能界面 目录摘 要I目录II第一章 需求分析11.1功能:11.2操作:1第二章总体设计22.1 模拟ATM柜员机程序功能图22.2 整个程序的流程图3第三章详细设计与实现43.1 类的设计43.2 ATM柜员机的登陆53.3 ATM柜员机修改密码功能53.4 ATM柜员机取款存款功能63.5 ATM柜员机查询余额功

2、能7第四章测试84.1程序开始运行的界面84.2 正确输入帐号密码后的界面94.3 取钱成功后的界面94.4 程序结束时的界面10参考文献11第一章 需求分析1.1功能:(1)模拟ATM柜员机程序;(2)修改密码。当用户需要修改密码时,可以用这个功能,新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。(3)取款。用户根据自己需要取多少钱,输入要取的金额,每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。(4)查询余额。用户需要知道自己帐户还剩多少钱时,可以查询自己帐户的余额。(5)存款。用户可以存款

3、,不能出现负存款。(6)锁机。当用户3次输入密码错误时,会自动吞卡。1.2操作:本程序通过键盘操作。在运行过程中,当用户输入正确的账号和密码时,会出现一个功能界面,按照功能界面操作。1.修改密码;2. 取款;3. 存款;4. 查询余额;5. 退出系统,按相应的序列号后再按enter键,执行相应的操作。第二章总体设计2.1 模拟ATM柜员机程序功能图模拟ATM柜员机程序 ATM功能类(登陆界面)(核对密码)(修改密码)(取款)(存款)(查询信息)(退出系统)(锁机)consumer用户类(获得姓名)(获得卡号)(获得密码)(获得余额)(设置密码) 图 2.2 功能图2.2 整个程序的流程图登录界

4、面输入帐号和密码选择一项功能执行功能界面1. 修改密码2. 取款3. 存款4. 查询余额5. 退出系统卡号密码正确?卡号密码错超过3次?结束否否是的等5pst1.co3+p.j - 1 = 0图 2.3 主程序流程图 程序开始运行进入登陆界面,用户输入自己的卡号和密码,成功登陆即能进入功能界面,如果用户卡号密码错误超过3次,系统会自动没收卡,根据功能界面,用户可以执行相应的操作,操作完毕,退出系统。第三章详细设计与实现3.1 类的设计设计了两个类,ATM类 和consumer类。ATM类完成自动柜员机的模拟,包括:显示登陆界面、验证卡号密码、修改密码、取款、存款、显示所插卡信息、退出系统等功能

5、。Consumer类完成银行卡的模拟,包括设置姓名、卡号、密码、余额等信息。类的定义和实现均保存在头文件atm.h文件中。ATM类的设计class ATM / ATM功能类 public: ATM(consumer& cn):cnsm(cn) void welcome(); / 登陆界面 bool check_passwd(char n,char pwd);/ 核对密码 void change_passwd(); / 修改密码 void fetchmoney(); / 取款 void getmoney();/存款 void information(); / 查询信息 void exit

6、ATM(); / 退出系统 void functionshow();/ 功能界面 void lock(); / 锁机 private: int times; / 记录密码输入次数 consumer& cnsm;consumer用户类的设计class consumer/ 用户类public: friend class ATM; /声明类ATM为consumer的友元类 consumer(char Name,char Num,float Money,char Password);/*构造函数,建立账户*/protected: char* get_name(); / 获得姓名 char* g

7、et_kahao(); / 获得卡号 char* get_passwd();/ 获得密码 float get_money(); / 获得余额 float getmoney(float gm);/存款 void set_passwd(char pwd);/ 设置密码 void set_money(float m);/ 取钱private: char passwd10;/ 用户密码 char name20; / 用户姓名 char kahao20; /用户卡号 float money;/用户余额;3.2 ATM柜员机的登陆在main主函数中实例化一个consumer类的对象,构造用户名是何志群,账

8、号和密码都为123456,默认余额为10000。在程序运行中输入账号密码正确即可登陆主界面,选择ATM柜员机的功能。程序运行首先要求用户输入账号密码,帐号密码首先由main主函数构造默认,用strcmp函数判断账号密码是否一致,一致允许登陆,如果输入错误则再给予3次登陆机会,如果3次都输入错误,则用lock()函数锁定账号密码。相关代码:bool ATM:check_passwd(char num,char pwd) if(strcmp(num,cnsm.get_num()=0&&strcmp(pwd,cnsm.get_passwd()=0) return true; else

9、 return false;3.3 ATM柜员机修改密码功能新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。输入正确账户密码后,或者实现其他功能退回主界面后都可以选择柜员机的修改密码功能,该功能首先定义了一个chenk_passwsd函数提取用户默认账号密码,在运行过程中现要求用户输入旧密码,用strcmp函数判断用户输入的旧密码是否和默认密码相同,若相同则继续运行,若不同则再给予两次输入机会,3次都输入错的时候调用lock函数锁定帐户密码。输入旧密码争取后系统会要求用户定义新密码,新密码要重复输入两次,要求两次必须

10、重复正确且新秘密大于等于6位数才能修改成功,用了do-while循环处理改项功能。修改密码流程图:输入旧密码密码正确?输入新密码重新输入旧密码新密码符合要求?密码正确?再次输入新密码密码修改不成功否超过3次?密码修改成功是是是否是否否2次输入一样?是否3.4 ATM柜员机取款存款功能输入正确账号密码后,即可登陆柜员机主界面,其中可以选择取款和存款功能。取款功能要求用户输入取钱金额,取钱功能用了两个if语句判断用户输入金额是否100的倍数(只允许取100的整数倍),判断输入金额是否小于等于5000(最多允许取5000元),如果判断都为真,则顺利运行,用fecthmony函数实现更新用户余额,余额

11、为默认账户余额减去取钱金额,单次取钱功能顺利实现时,会提示用户时候继续实现取钱功能,若输入“Y/y”则继续进行,若输入“N/n”则退回程序主见面。存款功能要求用户输入不能为负值的金额,用if语句判断,符合条件,即可成功存款。存款功能实现代码:void ATM:getmoney()/存款 float gm;/存入的金额 char ch; do cout<<endl<<"你要存多少钱:" <<"n$>"<<endl ; cin>>gm; if(gm<=0) cout<<&qu

12、ot;不能出现负存款,请输入正确的数字!"<<endl; cout<<"$ > " cin>>gm; else cout<<endl<<"存款成功"<<endl; cnsm.getmoney(gm); cout<<"是否要继续该项操作:(Y/N) " <<endl; cout<<"$ > " cin>>ch; while(ch!='n'&&ch

13、!='N'&&ch!='Y'&&ch!='y') cout<<"$ >" cin>>ch; while(ch='y'|ch='Y');3.5 ATM柜员机查询余额功能输入正确账号密码后,即可登陆柜员机主界面,其中可以选择查询余额功能功能。用户姓名主要是调用用户类的cnsm.get_name()函数,卡号主要调用用户类的cnsm.get_kahao()函数,余额主要调用用户类的cnsm.get_money()函数。代码如下:void ATM:information()/ 查询信息cout<<"*"<<endl; cout<<"*"<<endl; cout<<"* 用户姓名:"<<cnsm.get_name()<<endl; cout<<"* 卡号: "<<cnsm.get_kahao()<<endl; cout<<"* 余额: "<<cnsm.get_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论