1、模拟ATM机存取款管理系统面对对象课程设计滨江学院 面向对象程序设计课程设计题 目 模拟ATM机存取款管理系统院 系 计算机系 专 业 计算机科学与技术 学生姓名 学 号 指导教师 二一六 年 十二 月 二十日1前言选题目的及意义2系统分析需求分析功能要求软硬件环境3系统概要设计 系统总体架构设计4系统详细设计 管理模块类的定义5系统实现 类的实现 主要程序实现6系统测试7.收获及体会8.参考文献9.附录1前言选题目的及意义 总结及运用一学期来所学的知识,训练我们灵活应用所学C+知识,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出。能够巩固、深化理论知识,提高编程水平、分析问题、解
2、决问题的能力。研究内容 模拟银行的自动取款机使用过程中的界面和用户交互过程。实现查询银行卡余额、取款、修改密码、退出系统等功能2.系统分析需求分析人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务。银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安
3、全的处理银行事物。功能要求(1)卡号、密码输入最多三次,否则直接退出系统。(2)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前剩余金额的限制。(3)查询功能:实现查询余额功能。(4)更改密码:实现密码更改功能,对于密码要有2次验证。(5)锁卡功能:实现卡被锁的功能。(6)退卡功能:实现退出系统功能。 软硬件环境 环境:Visualc+ 硬件:lenovo idea-pad3系统概要设计系统整体架构设计 系统总体框架4系统详细设计管理模块 (1)登录页面输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。若卡号存在和密码不匹配或无该卡号已经
4、注销,提示该卡号已存在或已注销,保持界面三次不变等待用户的重新输入。(2)主界面页面主要导航栏有:欢迎使用储蓄卡管理(存款、取款、修改密码、转账功能、注销退出) (3)储蓄卡开户页面提供开户界面,由用户输入新储蓄卡的所有信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。(4)存钱页面从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库,同时将存钱的金额显示在页面上。(5)取款页面从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款
5、,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上,。(6)注销页面从关闭文件,状态为注销,最后关闭整个系统。类的定义 (1)comsumer 类class comsumer 主要制定用户的成员数据,并进行登录与保存功能:comsumer 类说明表名称属性说明ID数据成员用户账户数据name数据成员用户姓名money数据成员用户首次金额in数据成员用户身份证号address数据成员用户地址number数据成员用户电话Passwd数据成员用户密码savemoney()成员方法存钱fetchmoney ()成员方法取钱change_passwd()成员方法修改密码get
6、_money()成员方法卡卡转账(2)YH 类YH 类 主要实现用户的各种功能:YH 类说明表名称属性说明acnum数据成员账户数set_account ()成员方法开户功能del_account ()成员方法注销账户功能transfer ()成员方法转账功能functionshow()成员方法主界面显示功能addmoney()成员方法存钱功能exitYH()成员方法退出系统功能5.系统实现类的实现(1)consumer类class consumer:public YH开户 endl;cout endl;cout 2.账户登录 endl;cout endl;cout 3.账户注销 endl;c
7、out endl;cout 4.退出系统 endl;cout endl;coutendl;coutn; while(n4) cout操作错误,请输入正确的操作序号!endl; coutn; switch(n) case 1: set_account();看账户信息 endl;cout endl;cout 2.取款 endl;cout endl;cout 3.存款 endl;cout endl;cout 4.修改密码 endl;cout endl;cout 5.转账 endl;cout endl;cout 6.返回上一菜单 endl;cout endl;coutendl;coutn;(5)添加/
8、删除账户功能实现:switch(n)case 1: accounti-display();break;case 2: accounti-fetchmoney();save();break;考文献1高俊文。c/c+程序设计。北京:人民邮电出版社,20052谭浩强。C+程序设计。北京:清华大学出版社,20049.附录源程序:#include#include #includeusing namespace std;class consumer;class YH 开户 endl;cout endl;cout 2.账户登录 endl;cout endl;cout 3.账户注销 endl;cout end
9、l;cout 4.退出系统 endl;cout endl;coutendl;coutn; while(n4) cout操作错误,请输入正确的操作序号!endl; coutn; switch(n) case 1: set_account();看账户信息 endl;cout endl;cout 2.取款 endl;cout endl;cout 3.存款 endl;cout endl;cout 4.修改密码 endl;cout endl;cout 5.转账 endl;cout endl;cout 6.返回上一菜单 endl;cout endl;coutendl;coutn;switch(n)case
10、 1: accounti-display();break;case 2: accounti-fetchmoney();save();break;/从2-5功能,每执行一次调用一次save函数,重新写入数据case 3:accounti-savemoney();save();break;case 4:accounti-change_passwd();save();break;case 5:transfer(i);save();break;case 6:return;();();while(1);void YH:set_account() int id; string nam; string pa
11、ssw; float m; string company;string address;int number;double in; cout请输入开户号:id; cout请输入开户人姓名:nam; cout请输入开户密码:passw; cout请输入存入金额:m; cout请输入开户人电话:number;cout请输入开户人公司:company;cout请输入开户人地址:address;cout请输入开户人身份证号码:in; while(m=0) cout请输入正确的数字!m; consumer * acc = new consumer(id,nam,number,in,company,add
12、ress,passw,m); accountacnum = acc; cout开户成功!endlendl; acnum+;save();();return;void YH:del_account() int id; coutendlid;int flag = 1; int i = 0; while(iget_id() flag = 0; else i+; if(flag) cout该帐号不存在,请重新输入!endl; return; /返回到登陆界面 for(int j=i;jacnum;j+) /所有被删号后的数据重新存储 accountj = accountj+1; accountacnu
13、m-1=NULL; acnum-; /账号总数自减一次cout你的账号已注销!endlendl; save();();return; void consumer:change_passwd()string pwd,repwd;coutpwd;coutrepwd;if(pwd!=repwd)cout你输入的两次密码不一样,按输入键返回上一层菜单!endl;elsecout密码修改成功,请牢记!endl;(); void consumer:fetchmoney()float m;char ch;docoutendl输入取款金额:m; while(m=0) cout请输入正确的数字!endl;cou
14、tm; if(moneym)cout对不起,你的余额不足!endl; else money=money-m; coutendl操作成功,请收好钱!endl; cout是否要继续该项操作:(Y/N) endl;coutch;while(ch!=n&ch!=N&ch!=Y&ch!=y)/选择错误时判定coutch;while(ch=y|ch=Y);void consumer:savemoney()/存钱函数功能实现 float c; char ch;docoutendl请输入要存入的金额:c; while(c=0) cout输入错误,请重新输入!endl;coutc; money=money+c;
15、 cout操作已成功!endl;cout是否要继续该项操作:(Y/N) endl;coutch;while(ch!=n&ch!=N&ch!=Y&ch!=y)coutch;while(ch=y|ch=Y);int YH:acnum=0;void consumer:display()/用户信息界面system(cls); cout#endl;cout#endl;cout# 用户姓名:nameendl;cout#endl;cout# 帐号:IDendl;cout#endl;cout# 余额: moneyendl;cout#endl;cout# 按输入键回到上一菜单endl;cout#endl;cout#endl;cout;void YH:exitYH()/退出系统coutendl感谢您对本银行的支持,欢迎下次光临!endl;exit(0);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1