《银行ATM自动取款机系统课程设计(共13页).doc》由会员分享,可在线阅读,更多相关《银行ATM自动取款机系统课程设计(共13页).doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上面向对象程序设计课程设计报告题目:银行ATM自动取款机系统 专业:计算机科学与技术 班级:1103 学号: 姓名:黄永泉 指导教师:甘秋云 完成日期:2012 年 6 月 13 日面向对象程序设计课程设计一、系统中所使用的数据对象及说明1、自动取款机bank类属性属性名称类型描述idcardstring银行卡号namestring储户mmistring密码moneyint金额numint序号C5Consumer (组合)储户类方法方法名称功能set设置银行储户信息menu自动取款机界面菜单2、储户类consumer属性属性名称类型描述chuhustring储户icst
2、ring卡号mimastring密码jineint金额yueint余额方法方法名称功能Set2设置储户信息xiugai修改密码 chaxun查询余额qukuan取款zhuanzhang转账getch取储户名getmm取密码3、各个类之间的关系银行自动取款机bank(接受储户信息,以便传给储户)储户信息consumer(接受bank传来的信息,进行操作)二、系统功能结构及相关算法描述1、系统功能结构储户信息类 设 置 储 户 信 息 修 改 密 码 查 询 余 额取 款取 密 码取储 户 名转 账银行自动取款机菜单界面设 置 储 户 信 息修 改 密 码查 询 余 额取 款转 账取储户 名2、相
3、关算法流程图(1)设子储户信息流程从bank银行类中输入储户信息添加到consumer储户类中(2)修改密码流程输入原密码输入新密码与原先存储密码比对YN退出系统(一次机会)取代原密码(3)查询余额流程 输入储户信息 YN储户密码比对输出储户余额信息退出系统(一次机会)(4)取款流程 输入储户信息YN退出系统(一次机会)余额是否比取款金额大YN取出款储密码比对是否重新输入金额Y退出系统N 输入储户信息(5)转账流程N储户密码比对Y退出系统(一次机会)余额是否比取款金额大NY是否重新输入金额退出系统 转账成功N三、程序源码#include#include#include#includeusing
4、 namespace std;class consumerpublic: void set2(string c,string ch,string mm,int y)ic=c;chuhu=ch;mima=mm;yue=y;int xiugai();/修改密码void chaxun();/查询余额int qukuan();/取款int zhuanzhang();/转账string getch();/取用户string getmm();/取密码private:string chuhu;/储户string ic;/卡号string mima;/密码 int jine;/金额int yue;/账户余额;
5、class bankpublic: consumer c5;void set(int i,string id,string n,string ma,int m)num=i;idcard=id;name=n;mmi=ma;money=m;ci.set2(id,n,ma,m);void menu();private:string idcard,name,mmi;int money,num;void bank:menu()/菜单界面coutendlendl;cout(oo) (oo) (oo)endlendl; cout*.欢迎进入国脉15自动取款机.*endlendl;cout(oo) (oo)
6、(oo)endlendl;coutendlendl;cout-*-*-*-*-*-*请输入登陆账号-*-*-*-*-*-*ch;int i=0;while(ch!=ci.getch()&(i=5)coutendlendl;cout.O !.!endl;cout该账户不存在endl;cout-_-# ?_? -_-#endl;exit(0);/结束程序coutendlmi;coutendlendl;if(mi!=ci.getmm()coutendlendl;cout#endl;cout你输入的密码有误,禁止继续使用endl;cout#endl;exit(0);/结束程序docoutendl;co
7、ut请选择操作功能:endl; cout1.修改密码功能;2.余额查询功能;3.取款功能;4.转账功能endlf; switch(f) case 1:ci.xiugai( );break; case 2:ci.chaxun( );break; case 3:ci.qukuan( );break; case 4:ci.zhuanzhang( );break;coutendlendl*endl;cout是否继续使用 _ endl1.继续;0.结束endl;cout*endlendl;cout请选择i;while(1);cout*谢谢使用*endl;cout*.请取卡,欢迎下次使用.*endl;st
8、ring consumer:getch()return chuhu;string consumer:getmm()return mima;int consumer:xiugai()cout*你当前进入的是修改密码功能*endl;coutendlendl;coutmi;if(mi!=getmm()coutendlendl!endl;cout*你输入的密码有误*endl;cout*欢迎下次使用*endl;cout!endlendl;exit(0);/退出程序cout(oo) (oo) (oo)endlendl;coutmima;cout*修改密码成功*endl;cout*你先口令是:mimaend
9、l;cout(oo) (oo) (oo)endlendl;return 1;void consumer:chaxun()coutendlendl*endlendl;cout*你当前进入的是查询余额功能*endl;cout*你的余额为:yueendlendl;int consumer:qukuan()coutendlendl*endlendl;cout*你当前进入的是取款功能*endlendl; coutjine;if(jineyue)coutendl取款成功endl;yue=yue-jine;return 1;elsecoutendlendl.! !.!endlendl;cout*余额不足,请
10、重新输入*endlendl;cout.! !.!endlendl;return 0;int consumer:zhuanzhang()coutendlendl(oo) (oo) (oo)endlendl;cout*你当前进入的是转账功能界面*endlendl;coutch;/转账到的储户int i=0;consumer c5; while(ch!=ci.getch()&(i5)/判断该储户是否存在i+;if(i5)coutendljine;ci.yue=ci.yue+jine;cout(oo) (oo) (oo)endlendl;cout转账成功endlendl;cout(oo) (oo) (
11、oo)endlendl;return 1;elsecoutendlendl.! !.!endlendl;cout该储户不存在endlendl;cout.! !.!endlendl; cout1:进行重新输入;2:进行退出该界面s; if(s=1)cout(oo) (oo) (oo)endlendl; zhuanzhang(); cout(oo) (oo) (oo)endlendl; else if(s=2) return 1;/退出int main() bank bk;bk.set(0,1000,fhp,);bk.set(1,1001,lzh,);bk.set(2,1002,ljj,);bk.set(3,1003,zhu,40000);bk.set(4,1004,hih,50000);bk.menu();return 0;四、系统运行结果(截图)1、主菜单界面2、 登陆操作 3、修改密码4、余额查询功能5、取款6. 转账五、课程设计总结 专心-专注-专业