模拟ATM机存取款管理系统面对对象课程设计(共31页).docx
《模拟ATM机存取款管理系统面对对象课程设计(共31页).docx》由会员分享,可在线阅读,更多相关《模拟ATM机存取款管理系统面对对象课程设计(共31页).docx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上滨江学院 面向对象程序设计课程设计题 目 模拟ATM机存取款管理系统院 系 计算机系 专 业 计算机科学与技术 学生姓名 学 号 指导教师 二一六 年 十二 月 二十日目 录1前言1.1选题目的及意义2系统分析2.1需求分析2.2功能要求2.3软硬件环境3系统概要设计 3.1系统总体架构设计4系统详细设计 4.1管理模块4.2类的定义5系统实现 5.1类的实现 5.2主要程序实现6系统测试7.收获及体会8.参考文献9.附录1前言1.1选题目的及意义 总结及运用一学期来所学的知识,训练我们灵活应用所学C+知识,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出。
2、能够巩固、深化理论知识,提高编程水平、分析问题、解决问题的能力。1.2研究内容 模拟银行的自动取款机使用过程中的界面和用户交互过程。实现查询银行卡余额、取款、修改密码、退出系统等功能2.系统分析2.1需求分析人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务。银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和
3、数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。2.2功能要求(1)卡号、密码输入最多三次,否则直接退出系统。(2)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前剩余金额的限制。(3)查询功能:实现查询余额功能。(4)更改密码:实现密码更改功能,对于密码要有2次验证。(5)锁卡功能:实现卡被锁的功能。(6)退卡功能:实现退出系统功能。 2.3软硬件环境 环境:Visualc+6.0 硬件:lenovo idea-pad3系统概要设计3.1系统整体架构设计 系统总体框架银行管理系统存钱页面取款页面余额页面修改密码注销页面登录界面注册开户主界页面注销退出4系
4、统详细设计4.1管理模块 (1)登录页面输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。若卡号存在和密码不匹配或无该卡号已经注销,提示该卡号已存在或已注销,保持界面三次不变等待用户的重新输入。(2)主界面页面主要导航栏有:欢迎使用储蓄卡管理(存款、取款、修改密码、转账功能、注销退出) (3)储蓄卡开户页面提供开户界面,由用户输入新储蓄卡的所有信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。(4)存钱页面从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存
5、款事件的相应信息写人数据库,同时将存钱的金额显示在页面上。(5)取款页面从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上,。(6)注销页面从关闭文件,状态为注销,最后关闭整个系统。4.2类的定义 (1)comsumer 类class comsumer 主要制定用户的成员数据,并进行登录与保存功能:comsumer 类说明表名称属性说明ID数据成员用户账户数据name数据成员用户姓名money数据成员用户首次金额in数据成员用户身份证号address数据成员用户地
6、址number数据成员用户电话Passwd数据成员用户密码savemoney()成员方法存钱fetchmoney ()成员方法取钱change_passwd()成员方法修改密码get_money()成员方法卡卡转账(2)YH 类YH 类 主要实现用户的各种功能:YH 类说明表名称属性说明acnum数据成员账户数set_account ()成员方法开户功能del_account ()成员方法注销账户功能transfer ()成员方法转账功能functionshow()成员方法主界面显示功能addmoney()成员方法存钱功能exitYH()成员方法退出系统功能5.系统实现5.1类的实现(1)co
7、nsumer类class consumer:public YH/用户类,继承银行类的属性public: friend class YH; consumer(int id,string Name,int Number,double IN,string Company,string Address,string PassWord,float m) ID=id;name=Name;number=Number;in=IN;company=Company;address=Address;money=m;passwd=PassWord; consumer()ID=0;name=0;number=0;in=
8、0;company=0;address=0;money=0;passwd=0; int get_id()return ID; void savemoney();/ 取钱 string get_passwd()return passwd;/ 取得密码 void display(); void fetchmoney(); /取钱 void change_passwd(); void add_money(float);/计算余额 void dec_money(float);/计算余额 float get_money();/卡卡转帐private: int ID; /开户帐号 string passw
9、d; / 用户密码 string name; / 用户姓名 float money; /开户金额int number;string company;string address;double in;(2)银行类:class YH /银行类public:void set_account();/银行开户功能void del_account(); /注销账户功能void transfer(int); /转账功能void enter_account(); /进入用户个人信息功能void addmoney(int,float);/存款功能void exitYH();/ 退出系统void function
10、show();void save();void load();/ 功能界面protected: consumer *account20; static int acnum;/账户数5.2主要程序实现(1)读入用户信息功能实现:void YH:load()ifstream infile(bankdat.dat,ios:in);/以输入方式打开文件if(!infile)cerr读取错误,无资料中!acnum;for(n=0;nid;/从磁盘文件bankdat.dat读入信息infilem;infilenam;infilepassw;infilecompany;infilenumber;infile
11、address;infilein;accountn-passwd;consumer * acc = new consumer(id,nam,number,in,company,address,passw,m); /每读入一个n开辟一段内存accountn = acc; /赋值首地址infile.close();cout读取资料正常!endl;(2)转账功能实现:void YH:transfer(int x)int id; coutid; int flag = 1; int i = 0; while(iget_id() flag = 0; else i+; if(flag) cout帐号不存在!
12、endlendl; return ; float b; coutendlb; while(b=0) cout请输入正确的数字!endl;coutb; if(accountx-get_money()b) /调用友元类consumer的公有成员函数cout对不起,金额不够!dec_money(b);accounti-add_money(b);cout转账成功!money=accountx-money-y;float consumer:get_money()return money;void main()YH yh;yh.functionshow();(4)主界面显示void YH:function
13、show() int n;dosystem(cls); load();coutendl请输入相应的操作序号进行操作:endl;coutendl;cout endl;cout 1. 开户 endl;cout endl;cout 2.账户登录 endl;cout endl;cout 3.账户注销 endl;cout endl;cout 4.退出系统 endl;cout endl;coutendl;coutn; while(n4) cout操作错误,请输入正确的操作序号!endl; coutn; switch(n) case 1: set_account();/开户 break; case 2:en
14、ter_account();/登录break; case 3: del_account();/注销 break; case 4: exitYH();/退出 break; cin.get();/输入流类istream的成员函数while(true);void YH:enter_account()int id; coutid; int flag = 1; int i = 0; /_page_break_while(iget_id() flag = 0; else i+; if(flag) cout帐号不存在!endl; return; coutpassw;if(passw!=accounti-ge
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 ATM 取款 管理 系统 面对 对象 课程设计 31
限制150内