




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上JINGCHU UNIVERSITY OF TECHNOLOGYC+银行账户管理课程设计报告学 院:计算机工程学院 班 级:09级计算机科学与技术1班学生姓名: 学 号: 设计地点(单位): A5-101 设 计 题 目: 银行账户管理程序 完成日期:2011年 12月 25日 指导教师评语: _ _ _ 成绩(五级记分制):_ _ _ 教 师 签 名:_ _目 录一、设计思想03二、模块设计与分析03 三、程序设计介绍04四、框架结构图04五、程序代码05六、测试数据14七、数据调试14八、课程设计总结16九、课程设计教材及主要参考资料16一、设计思想定义一个用户类
2、customer和一个银行类YH,程序运行时,可以由用户选择进行开户、登录、取款、存款、修改密码、转账、销户操作,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。二、模块设计与分析1 登录页面:输入帐号和密码,根据用户输入的帐号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。若帐号存在和密码不匹配或无该帐号已经注销,提示该帐号已存在或已注销。2 主界面页面:主要导航栏有存款、取款、账户信息、注销、注销、返回上一步。3. 开户页面:提供开户界面,由用户输入新账户
3、的信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。4 存钱页面:从登录界面得到帐号,并提供数据输入界面,等待用户的输入存款金额,同时将存钱的金额显示在页面上。5 取款页面:从登录界面得到帐号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上。6 账户信息页面:从登录界面得到帐号,把本人显示到界面中。7 转账页面:从登录界面得到帐号,输入要转入的帐号,在输入金额,显示在页面上,如果金额超过余额将操作失败。8 注销页面:从关闭文件,状态为注销,最后关闭整个系统
4、。三、程序设计介绍系统由2个类构成,YH(银行类)和Consumer(客户类),Consumer(客户类)是YH(银行类)的公有继承类。YH(银行类)中有实现登陆系统,开户,销户,转账,退出系统等功能函数,Consumer(客户类)中有实现存钱,取钱,修改个人账号密码,显示个人账号信息等功能函数。因为Consumer(客户类)是YH(银行类)的公有继承类,所以,一个用户只需创建一个Consumer(客户类)对象,当用户进行开户,销户等操作时,可以直接调用YH(银行类)的成员函数。银行类中的函数:void set_account(); /银行开户功能void del_account(); /注销
5、账户功能void transfer(int); /转账功能void enter_account(); /进入用户个人信息功能void addmoney(int,float);/存款功能void exitYH();/ 退出系统银行管理系统存钱页面取款页面转账页面页面修改密码查看信息登录界面注册开户主界页面注销退出四、框架结构图五、程序代码#include<iostream>#include <string>#include<fstream>using namespace std;class consumer;class YH /银行类public:void s
6、et_account();/银行开户功能void del_account(); /注销账户功能void transfer(int); /转账功能void enter_account(); /进入用户个人信息功能void addmoney(int,float);/存款功能void exitYH();/ 退出系统void functionshow();void save();void load();/ 功能界面protected: consumer *account20; static int acnum;/账户数;class consumer:public YH/用户类,继承银行类的属性publ
7、ic: friend class YH; consumer(int id,string Name,string PassWord,float m) ID=id;name=Name;money=m;passwd=PassWord; consumer()ID=0;name='0'money=0;passwd='0' int get_id()return ID; void savemoney();/ 取钱 string get_passwd()return passwd;/ 取得密码 void display(); void fetchmoney(); /取钱 voi
8、d change_passwd(); void add_money(float); void dec_money(float); float get_money();/卡卡转帐private: int ID; /开户帐号 string passwd; / 用户密码 string name; / 用户姓名 float money; /开户金额;void YH:save()ofstream ofile("bankdat.dat",ios:out);ofstream outfile("bankdat.dat",ios:out);int n=0;outfile&
9、lt;<acnum<<" "for(n=0;n<acnum;n+)outfile<<accountn->ID<<" "outfile<<accountn->money<<" "outfile<<accountn->name<<" "outfile<<accountn->passwd<<" "outfile.close(); /*读入用户信息功能实现*/v
10、oid YH:load()ifstream infile("bankdat.dat",ios:in);if(!infile)cerr<<"读取错误,无资料中!"<<endl;return;int n=0;int id,m;string nam,passw;infile>>acnum;for(n=0;n<acnum;n+)infile>>id;infile>>m;infile>>nam;infile>>passw;accountn->passwd;consume
11、r * acc = new consumer(id,nam,passw,m); accountn = acc; infile.close();cout<<"读取资料正常!"<<endl;/*转账功能实现*/void YH:transfer(int x)int id; cout<<"请输入帐号:" cin>>id; int flag = 1; int i = 0; while(i<acnum)&&(flag) if(id=accounti->get_id() flag = 0; e
12、lse i+; if(flag) cout<<"帐号不存在!"<<endl<<endl; return ; float b; cout<<endl<<"请输入你要转帐的金额:" cin>>b; while(b<=0) cout<<"请输入正确的数字!"<<endl;cout<<""cin>>b; if(accountx->get_money()<b) cout<<&q
13、uot;对不起,金额不够!"<<endl; else accountx->dec_money(b);accounti->add_money(b);return;/*账户金额计算*/void consumer:add_money(float x)money=x+money;void consumer:dec_money(float x)money=money-x;void YH:addmoney(int x,float y)accountx->money=accountx->money-y;float consumer:get_money()retu
14、rn money;void main()YH yh;yh.functionshow();/*主界面显示*/void YH:functionshow() int n;dosystem("cls"); load();cout<<endl<<"请输入相应的操作序号进行操作:"<<endl;cout<<""<<endl;cout<<" "<<endl;cout<<" 1. 开户 "<<endl;c
15、out<<" "<<endl;cout<<" 2.账户登录 "<<endl;cout<<" "<<endl;cout<<" 3.账户注销 "<<endl;cout<<" "<<endl;cout<<" 4.退出系统 "<<endl;cout<<" "<<endl;cout<<&q
16、uot;"<<endl;cout<<""cin>>n; while(n<1|n>4) cout<<"操作错误,请输入正确的操作序号!"<<endl; cout<<"" cin>>n; switch(n) case 1: set_account();/开户 break; case 2:enter_account();/登录break; case 3: del_account();/注销 break; case 4: exitYH()
17、;/退出 break; cin.get();while(true);void YH:enter_account()int id; cout<<"请输入帐号:" cin>>id; int flag = 1; int i = 0; /_page_break_while(i<acnum)&&(flag) if(id=accounti->get_id() flag = 0; else i+; if(flag) cout<<"帐号不存在!"<<endl<<endl; retur
18、n; cout<<"请输入密码:"string passw;cin>>passw;if(passw!=accounti->get_passwd() return;accounti->display();cin.get();cin.get();int n;dosystem("cls"); cout<<"请选择下列操作:"<<endl;cout<<""<<endl;cout<<" "<<end
19、l;cout<<" 1.查看账户信息 "<<endl;cout<<" "<<endl;cout<<" 2.取款 "<<endl;cout<<" "<<endl;cout<<" 3.存款 "<<endl;cout<<" "<<endl;cout<<" 4.修改密码 "<<endl;cout&l
20、t;<" "<<endl;cout<<" 5.转账 "<<endl;cout<<" "<<endl;cout<<" 6.返回上一菜单 "<<endl;cout<<" "<<endl;cout<<""<<endl;cout<<""cin>>n;switch(n)case 1: accounti-&g
21、t;display();break;case 2: accounti->fetchmoney();save();break;case 3:accounti->savemoney();save();break;case 4:accounti->change_passwd();save();break;case 5:transfer(i);save();break;case 6:return;cin.get();cin.get();while(1);void YH:set_account() int id; string nam; string passw; float m; c
22、out<<endl<<"请输入开户号:" cin>>id; cout<<endl<<"请输入开户人姓名:" cin>>nam; cout<<endl<<"请输入开户密码:" cin>>passw; cout<<endl<<"请输入存入金额:" cin>>m; while(m<=0) cout<<"请输入正确的数字!"<<en
23、dl;cin>>m; consumer * acc = new consumer(id,nam,passw,m); accountacnum = acc; cout<<"开户成功!"<<endl<<endl; acnum+;save();cin.get();return;void YH:del_account() int id; cout<<endl<<"请输入你要注销的帐户号:" cin>>id;int flag = 1; int i = 0; while(i<a
24、cnum)&&(flag) if(id = accounti->get_id() flag = 0; else i+; if(flag) cout<<"该帐号不存在,请重新输入!"<<endl; return; for(int j=i;j<acnum;j+) accountj = accountj+1; accountacnum-1=NULL; acnum-; cout<<"你的账号已注销!"<<endl<<endl; save();cin.get();return;
25、 void consumer:change_passwd()string pwd,repwd;cout<<"请输入新密码:"cin>>pwd;cout<<"请再输入一次新密码:"cin>>repwd;if(pwd!=repwd)cout<<"你输入的两次密码不一样,按输入键返回上一层菜单!"<<endl;elsecout<<"密码修改成功,请牢记!"<<endl;cin.get(); void consumer:fetc
26、hmoney()float m;char ch;docout<<endl<<"输入取款金额:"<<"¥>"<<endl ; cin>>m; while(m<=0) cout<<"请输入正确的数字!"<<endl;cout<<""cin>>m; if(money<m)cout<<"对不起,你的余额不足!"<<endl; else money=mone
27、y-m; cout<<endl<<"操作成功,请收好钱!"<<endl; cout<<"是否要继续该项操作:(Y/N) "<<endl;cout<<""cin>>ch;while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')/选择错误时判定cout<<""cin>>ch;w
28、hile(ch='y'|ch='Y');void consumer:savemoney()/存钱函数功能实现 float c; char ch;docout<<endl<<"请输入要存入的金额:"<<"¥>"<<endl ; cin>>c; while(c<=0) cout<<"输入错误,请重新输入!"<<endl;cout<<""cin>>c; money=mon
29、ey+c; cout<<"操作已成功!"<<endl;cout<<"是否要继续该项操作:(Y/N) "<<endl;cout<<""cin>>ch;while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')cout<<""cin>>ch;while(ch='y'|ch='Y');int YH:acnum=0;void consumer:display()/用户信息界面system("cls"); cout<<"#"<<endl;cout<<"#"<<endl;cout<<"# 用户姓名:"<<name<<endl;cout<<"#"<<endl;cout<<&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 选择偏差的统计修正技术试卷及答案
- 汽车美容效果与客户满意度之间的关系试题及答案
- 2024秋四年级英语上册 Unit 3 My friends课时1 Let's talk Let's play教学设计 人教PEP
- 高中生物 第一册 第4章 生命的物质变化和能量转换 4.4 生物体内营养物质的转变教学设计1 沪科版
- Module 9Unit 3 Language practice-教学设计 2023-2024学年外研版英语七年级上册
- Unit 9 Have you ever been to a museum-Section B 1a-1d-教学设计2023-2024学年人教版英语八年级下册
- 信仰与文学的关系探讨试题及答案
- 五年级英语下册 Unit 2 My favourite season(The second period)第二课时教学设计 人教PEP
- 质量成本控制目标管理制度
- 二手车评估的方法与技巧试题及答案
- 2024年广东省五年一贯制学校招生考试数学试卷
- 2024年河南郑州黄河文化旅游发展有限公司招聘笔试真题
- 高中入团考试试题及答案
- 人教五四 六年级 下册 语文 第五单元《中国有能力解决好吃饭问题 第一课时》课件
- 2025河南郑州航空港科创投资集团有限公司“领创”社会招聘40人笔试参考题库附带答案详解
- 八年级道法下册 第二学期 期中综合测试卷(人教山西版 2025年春)
- 《ONLY服装品牌调研》课件
- DBJ33T 1271-2022 建筑施工高处作业吊篮安全技术规程
- 基本药物制度政策培训课件
- 创新创业基础知到智慧树章节测试课后答案2024年秋哈尔滨理工大学
- 2024-2030年中国航空材料产业未来发展趋势及前景调研分析报告
评论
0/150
提交评论