ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:89.40KB ,
资源ID:851534      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-851534.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ATM取款机系统C++课程设计.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

ATM取款机系统C++课程设计.doc

1、C+课程设计实验报告目录一、系统功能分析- 3 -二、 系统设计实现- 3 -三、小组人员构成及任务- 3 -四、UML图- 4 -五、源代码- 4 -六、运行结果- 11 -一、系统功能分析1、 提示用户输入账号和密码,检查输入的账号和密码是否正确。2、 记录用户输入密码错误的次数,当超过三次时锁卡。3、 登陆后,提示用户输入数字进行修改密码,查询账号余额,取款的功能。4、 安全退出。二、 系统设计实现1、 本系统共两个类,分别为ATM类和consumer类,并且ATM类为consumer类的友元类。2、 ATM类中有公有函数成员ATM(&cn:consumer)是本类的构造函数;welco

2、me()是登陆界面函数;change passwd核对用户输入的密码是否正确;change_passwd()修改密码;fetchmoney()取款;void information() 查询账户信息;exitATM()退出系统;void functionshow() 功能界面;void lock()记录用户输入密码错误的次数,当超过三次时锁卡。私有成员times记录密码输入次数& cnsm consumer类对象的引用来存放当前用户数据3、 consumer类中有公有成员ATM为本类的友元类;consumer()为本类的构造函数;保护成员* get_name()取得用户姓名;* get_num

3、()取得卡号;* get_passwd()取得密码;get_money()取得余额;set_passwd()设置密码;set_money()取款。有私有成员passwd8用来存放用户密码;name20存放用户姓名;num20存放用户卡号;money存放用户余额。三、小组人员构成及任务刘辉:系统的构思、绘制UML图、系统的调试、编写实验报告杨钊:编写ATM.h文件杨树仁:编写consumer.h文件庄典:ATM类的实现文荣富:consumer类的实现杨竹:编写主函数四、UML图ATM+ATM(&cn :consumer)+ welcome() : void+check_passwd(n:char

4、, pwd:char):bool+change_passwd():void+ fetchmoney():void+ information():void+ exitATM():void+ functionshow():void+ lock() : void-times: int-& cnsm: consumer consumer+ ATM: class+consumer(Name:char, Num:char, Money: float, Password:char)#* get_name(): char#* get_num(): char#* get_passwd(): char#get_m

5、oney():float#set_passwd(pwd: char): void#set_money(m: float) : void-passwd8:char-name20: char-num20: char-money: floa t五、源代码/ATM.hclass consumer;class ATM / ATM取款机 public: ATM(consumer &cn);/构造函数 void welcome();/ 登陆界面函数 bool check_passwd(char n,char pwd);/ 核对密码 void change_passwd();/ 修改密码 void fetch

6、money();/ 取款 void information();/ 查询信息 void exitATM();/ 退出系统 void functionshow();/ 功能界面 void lock();/ 锁机吞卡 private: int times;/ 记录密码输入次数 consumer& cnsm;/当前用户数据;/consumer.hclass consumer / consumer类的定义public:friend class ATM;consumer(char Name,char Num,float Money,char Password);protected: char* get_

7、name();/ 取得姓名 char* get_num();/ 取得卡号 char* get_passwd();/ 取得密码 float get_money();/ 取得余额 void set_passwd(char pwd);/ 设置密码 void set_money(float m);/ 取钱private: char passwd8;/ 用户密码 char name20;/ 用户姓名 char num20; float money;/ATM.cpp ATM类以及consumer类的实现# include # include ATM.h# include consumer.h/包涵两个类的

8、头文件using namespace std;void ATM:functionshow() int n; do coutendl请你输入相应的操作序号进行操作:endl; cout1) 修改密码 endl 2) 取款 endl 3) 查询余额 endl 4) 退出系统 endl; cout; cinn; while(n!=1&n!=2&n!=3&n!=4) cout请输入正确的操作序号!endl; cout; cinn; switch(n) case 1:change_passwd(); break; case 2:fetchmoney(); break; case 3:informatio

9、n(); break; case 4:exitATM(); break; while(true);void ATM:change_passwd()/修改密码函数的定义 char pwd8,repwd8; times=0; do coutendlpwd;if(!check_passwd(cnsm.get_num(),pwd) times+; else break; while(times3); if(times=3) lock(); int t=0;docoutpwd;coutrepwd;if(t=strcmp(pwd,repwd)!=0)cout你输入的两次密码不一样,请重新输入!endl;w

10、hile(t!=0);cnsm.set_passwd(pwd);cout密码修改成功endl;void ATM:fetchmoney()/取款函数的实现 float m; char ch; do coutendl请输入金额: m; while(m=0) cout金额不能小于零,请继续输入endl;cout ;cinm; if(cnsm.get_money()-m0) cout对不起,你的余额不足!endl; else coutendl操作成功endl; cnsm.set_money(m); cout是否要继续取钱:(Y/N) endl; cout ; cinch; while(ch!=n&ch

11、!=N&ch!=Y&ch!=y) cout; cinch; while(ch=y|ch=Y);void ATM:information() cout*endl; cout*endl; cout* 用户姓名:cnsm.get_name()endl; cout* 卡号: cnsm.get_num()endl; cout* 余额: cnsm.get_money()endl; cout*endl;void ATM:lock() coutendl对不起,由于操作有误,你的卡已经被没收endl; exit(1);void ATM:exitATM()coutendl*谢谢使用,欢迎下次光临!*endl;co

12、ut请取卡endl;exit(0);ATM:ATM(consumer &cn):cnsm(cn) consumer:consumer(char Name,char Num,float Money,char Password) strcpy(name,Name); strcpy(num,Num); money=Money; strcpy(passwd,Password);float consumer:get_money()/得到用户余额 return money;char* consumer:get_name()/得到用户的姓名 return name;char* consumer:get_nu

13、m()/得到用户的账号 return num;char* consumer:get_passwd()/得到用户的密码 return passwd;void consumer:set_money(float m)/更新用户的余额 money-=m;void consumer:set_passwd(char pwd)/设置密码 strcpy(passwd,pwd);void ATM:welcome() times=0;cout*欢迎使用ATM自动取款机系统*endl;cout*n;cout*本系统由10级计科四班 刘辉 文荣富 杨钊 庄典 杨树仁 杨竹共同开发*n;cout*nnn; char p

14、wd8,num20,ch; int i=0; do i=0; coutendl请输入卡号:;docin.get(ch);/获取一个字符numi+=ch;/将卡号放入num数组while(ch!=n);/回车键结束numi-1=0;/最后一位为空字符i=0;cout请输入密码:;docin.get(ch);pwdi+=ch;while(ch!=n);pwdi-1=0;if(!check_passwd(num,pwd) cout你输入的卡号或密码有误,请重新输入endl; times+;else functionshow(); while(times3);lock();bool ATM:check

15、_passwd(char num,char pwd) if(strcmp(num,cnsm.get_num()=0&strcmp(pwd,cnsm.get_passwd()=0) return true; else return false;/main.cpp 主函数所在文件# include # include # include ATM.cppusing namespace std;int main() consumer c1(Tom,11111,10000.00f,111111);/*创建一个姓名为Tom,账号为11111,密码为111111,余额为10000元的账号*/ ATM atm1(c1); atm1.welcome(); return 0;六、运行结果- 10 -

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

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

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