c课程设计atm取款机

上传人:w****1 文档编号:55643096 上传时间:2022-02-18 格式:DOCX 页数:32 大小:395.38KB
收藏 版权申诉 举报 下载
c课程设计atm取款机_第1页
第1页 / 共32页
c课程设计atm取款机_第2页
第2页 / 共32页
c课程设计atm取款机_第3页
第3页 / 共32页
资源描述:

《c课程设计atm取款机》由会员分享,可在线阅读,更多相关《c课程设计atm取款机(32页珍藏版)》请在装配图网上搜索。

1、C+程序设计?课程设计说明书题 目模拟ATM取款机的设计学 号姓 名指导教师日 期-i -目录第1章需求分析错误!未定义书签.-32 -第2章总体设计 第3章类的设计3.1 ATM类的设计53.2 consumer类的设计6第4章详细设计74.1 工程视图74.2类图视图74.3函数的调用关系84.4主程序流程图9第5章测试10第6章总结14参考文献15附录:程序代码16课程名称C+语言课程设计设计题目模拟ATM取款机的设计指导教师时间2021-2021春学期 第17、18周第1章需求的分析一、教学要求1. 稳固和加深学生对 C+语言课程的根本知识的理解和掌握2. 掌握C+语言编程和程序调试的

2、根本技能3. 利用C+语言进行根本的软件设计4. 掌握书写程序设计说明文档的水平5. 提升运用C+语言解决实际问题的水平二、设计资料及参数用C+设计一个系统,能提供以下效劳:模拟ATM取款机的操作,:1首先录入账户信息.格式为:帐号姓名身份证密码余额323401020056078李四150202198808080088123456450.82登录功能.输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示 无此帐户.3查询功能.查询账户余额.4取款功能.取款,更新余额.5挂失功能.挂失后,该账户不能进行任何操作.6修改密码.输入原密码和新设置密码.7转账.输入转账的转出账户和转入账

3、户以及转账金额,进行转账.三、设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:1分析系统中的各个实体之间的关系及其属性和行为;2根据问题描述,设计系统的类层次;3完成类层次中各个类的描述 包括属性和方法;4完成类中各个成员函数的定义;5 完成系统的应用模块;6功能调试;7提交课程设计报告:完成系统总结报告以及系统使用说明书第2章总体设计2.1总体设计框图:ATM 自动-取款系统登陆功能查询功能取款功能挂失功能修改密码转账图2 1 atm设计框图2.2文字表达:Atm自动取款系统,完成以下功能:CD登录功能.输入帐号和密码进行登录,如密码错误无 示重新输入密码,如帐号错误提示无此帐户

4、.C查询功能.查询账户余额.取款功能.取款,更新余额.C挂失功能.挂失后,该账户不能进行任何操作.修改密码.输入原密码和新设置密码.转账.输入转账的转出账户和转入账户以及转账金 额,进行转账.第3章类的设计3.1ATM类的设计在atm类,有数据成员和成员函数,他们被访问的权限又分为三类,private私有类,protected保护类,public公有类.class ATM/ ATM取款机public:/公有类ATM(co nsumer& cn):c nsm(cn)void welcome.;/登陆界面bool check_passwd(char n ,char pwd); /核对密码void

5、cha nge_passwd();/修改密码void fetchm on ey();/取款void in formatio n();/查询信息void function show();/功能界面void guashi();/挂失void zhua nzha ng();/转账void exitATM();/退出系统void lock();/锁机private:/私有类int times;/记录密码输入次数int mon ey;con sumer&c nsm; ;3.2 consumer 类的设计class con sumer/ 用户 public:/friend class ATM;公有类con

6、 sumer(charName,charPassword);protected:char* get_ name();/Num,char Nun ,float取得姓名Mon ey,charchar* get_ num();/char* get_ nun();/char* get_passwd();/float get_m on ey();/void set_passwd(char pwd);/void set_m on ey(float m);/取得卡号身份证取得密码取得余额设置密码 取钱私有类用户密码用户姓名用户账号 用户身份证 用户余额private:/char passwd8;/char

7、name20;/char num20;/char nun 20;/float mon ey;/;第4章详细设计 4.1工程视图11 Workspace Cppl- Cppl classes-F/VTM ATM(consumer Sen change_passwdQ check _passwd(char nQ, char pwdQ)& exitATMQ& fetchmoneyQ functionshowQ guashiO inlormationQ lockQ welcomeQ zhuanzhangO 鈿 cardID第 cnsm ts/ money 罰psw t-p times-i 弋 cons

8、umer.consumerfchr NameQ char NumQ, chr NunQ float Money, char PsswofdQ) 铢 get_moneyOget_nameO询 getnumQget_nunU get passwdQ0 set_moneyfloal m许 sct_passwd(char pwdQ)曲 money也 name知numA nun垂 passwd图4 2类图视图: 1 projectfs F SCppl files国 CppLcpp图4 1工程视图4.2类图视图4.3函数的调用:change_passwd(), getmoney(), fetchmoney

9、() , information() , guashi(), zhuanzhang().图4 3函数调用关系图4.4主程序的流程图:效劳界面修改成功第5章测试5.1登陆界面图51登陆界面-lnlxl苗码额+密余另 擊_書退 剧12加 q5“*123456 234567 一次新電码:改成功,请半记2345G?価码额统 Me余系 蟹閨失账出 制1加加45fcv5.2修改密码 iBC:Documents and 9ettings Administrators 桌面 新建文件克(4)Debug 67.e:图5 2修改密码界面5.3取款图53取款界面5.4查询图5 4查询界面5.5挂失图55 挂失界面5

10、.6转账冋X隆改密码余额傷改密询O查询余额请重新输入取款金额:400质为= -858993860退IL图56转账界面T5.7退出系统图5 1退出系统界面第6章总结自动取款机的虚拟系统主要是模仿银行真的自动取款机的 功能而设计的,其功能和真正的自动取款机是有很多的差异的, 但对我们来说,此虚拟的自动取款机也是很大的鼓励, 对大家的 熟悉自动取款机也有一定的帮助.虽然,在功能和界面上和其他的自动取款机系统和很大的差异, 但是这个模拟的系统也是很 真实.通过这次的模拟 ATM取款系统的设计,让我更深了理解了 C+程序,对在理论学习时很多不懂得东西, 通过这次实践操作, 有了新的熟悉,同时也学会了如何

11、分析问题,将复杂问题的细化 分类处理,如何寻找突破口解决难题培养了自己的逻辑思维能 力,加深了对面向对象程序设计思想的熟悉,对类的继承,函数 的重载以及多态的应用有了更深入得了解.同时也明白了养成良好的编程习惯.学会了,在编写程序的同时做好文档的记录工作, 为日后的调试,复检做准备.通过此次程序设计更明确了日后的 目标.20062005参考文献1. 吴敏,杨国林.C+面向对象程序设计.呼和浩特:内蒙古大学出版社,2. 谭永强.C+程序设计.北京:清华大学出版社,20043. 钱能.C+程序设计教程.北京:清华大学出版社,20014. 谭永强,陈青华,朱红.C+程序设计实践指导.北京:清华大学出

12、版社,附录程序代码#i nclude#i ncludevstri ng.h#i nclude class con sumer;class ATM/ ATM取款机public:ATM(co nsumer& cn):c nsm(cn)void welcome.;/登陆界面核对密码修改密码取款查询信息功能界面挂失转账退出系统锁机记录密码输入次数bool check_passwd(char n ,char pwd);/void cha nge_passwd();/void fetchm on ey();/void in formatio n();/void function show();/void

13、guashi();/void zhua nzha ng();/void exitATM();/void lock();/private:int times;/long cardID;long psw;int mon ey;con sumer&c nsm;Num,char Nun ,float取得姓名取得卡号身份证取得密码取得余额设置密码取钱Mon ey,char;class con sumer/用户public:friend class ATM;con sumer(char Name,char Password);protected:char* get_ name();/char* get_

14、num();/char* get_ nun();/char* get_passwd();/float get_m on ey();/void set_passwd(char pwd);/void set_m on ey(float m);/private:char passwd8;/用户密码char n ame20;/用户姓名char num20;char nun 20;float mon ey;con sumer:c on sumer(char Name,char Num,char Nun ,float Mon ey,char Password)strcpy( name,Name);strc

15、py (num. Num);strcpy (nun,Nun);mon ey=Mon ey;strcpy(passwd,Password);char* con sumer:get_ name()return n ame;char* con sumer:get_ num ()return nu m;char* con sumer:get_ nun( )retur n nun;char* con sumer:get_passwd()retur n passwd;float con sumer:get_m on ey()retur n mon ey;void con sumer:set_passwd(

16、char pwd)strcpy(passwd,pwd);void con sumer:set_m on ey(float m)m on ey-=m;void ATM:welcome()times=0;cout OOOOOOOOendl;coutvv 欢送使用DSJ银行ATM自动取款机 endl;cout OOOOOOOOendl;char pwd8, nu m20,ch;int i=0;doi=0;coutendl请输入卡号:;doci n.get(ch); nu mi+=ch;while(ch!=n);numi-1=0;i=0;cout请输入密码:;docin .get(ch);pwdi+=

17、ch;while(ch!=n);pwdi-1=0;if(!check_passwd( nu m,pwd)cout你输入的卡号或密码有误,请重新输入 pwd;if(!check_passwd (cn sm.get_ num (),pwd)times+;elsebreak;while(times=3);if(times=3)lock();int t=0;doJ请重cout请输入新密码:;cin pwd;cout repwd;if(t=strcmp(pwd,repwd)!=0)cout你输入的两次密码不一样,新输入!endl;while(t!=0);cn sm.set_passwd(pwd);cou

18、t密码修改成功,请牢记!endl;void ATM:fetchmo ney()float m;char ch;docoutm;while(m=0)cout请输入正确的数字!endl;coutm;if(cn sm.get_ mon ey()-m0)cout对不起,你的余额缺乏!endl;elsecoutendlvv操作成功,请收好钱!endl;cn sm.set_ mon ey(m);coutvv是否要继续该项操作:(Y/N) endl;cout ch;while(ch!= n&ch!=N&ch!=Y&ch!=y)coutch;while(ch=y|ch=Y); void ATM:i nform

19、atio n()cout*、e ndl;cout*e ndl;coutvv* 用户姓名:c nsm.get_ name()ve ndl;coutvv* 卡号:c nsm.get_ num( )e ndl; coutvv* 身份证:c nsm.get_ nun() e ndl;coutvv* 余额:c nsm.get_m on ey()e ndl;coutvv*、vve ndl;void ATM:fu nction show()int n;vve ndl;coutvv1)vvendlvv4) 挂 失docoute ndl请你输入相应的操作序号进行操作:修改密码endl2) 取款 endl3)查询

20、余额endl5)转账endl6)退出系统endl;coutn;while( * 0| n 7)coutvv 请输入正确的操作序号!endl;cout n;switch( n)case 1:cha nge_passwd();break;case 2:fetchm on ey();break;case 3:i nformatio n( );break;case 4:guashi();break;case 5:zhua nzha ng();break;case 6:exitATM();break;while(true);void ATM:guashi()char ch;coutvv您确定要挂失吗?

21、(Y/N) e ndl;coutch;if(ch!= n&ch!=N)|(ch=Y&ch=y)cout挂失成功!请您尽快补办新卡!endl;coutendl 感谢你对本银行的支持,欢送下次光临!e ndl;coutvv请取卡endl;exit(0);return;else coutvv未挂失! endl;void ATM:zhua nzha ng()long ID2;int mon ey1;coutvv请输入您要转账的卡号: ID2;coutvv 请输入您要转账的金额:mon ey1;if(mon ey=mon eyl)mon ey=mon ey-mon eyl;cout转账成功,您卡上余额为

22、:moneyendl;elsecoutvv金额超出账户余额,请重新输入取款金额:cinmon eyl;mon ey=mon ey-mon eyl;coutvv转账成功,您卡上余额为:moneyvvendl;void ATM:lock()coutvvendl对不起,由于你的操作有误,你的卡已经被没收! endl;exit(1);void ATM:exitATM()coutvvendl感谢你对本银行的支持,欢送下次光临!endl;coutvv请取卡vvendl;exit(0); void mai n()四先构造一con sumerc1(李,323401020056078,150202198808080088,450.8f,123456); 个用户ATM atm(c1);atm.welcome();

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!