版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JINGCHU UNIVERSITY OF TECHNOLOGYC+银行账户管理课程设计报告学院: 计算机工程学院班 级:09 级计算机科学与技术1 班学生姓名 :学 号:设计地点(单位) :A5-101设计 题目:银行账户管理程序完成日期: 2011 年 12 月 25 日指导教师评语 : _成绩 ( 五级记分制 ):_ _ _教师签名:_ _目 录 03 03 04 04 05 14 14 16 16一、设计思想定义一个用户类customer 和一个银行类YH,程序运行时,可以由用户选择进行开户、登录、取款、存款、修改密码、转账、销户操作,用户销户后账号被回收,并且该账号可以继续分配给其它
2、账户,不允许用户透支, 根据姓名或账号可以进行用户的信息查询, 所有的账户信息应存放到一个文件中,可以随时的访问和更新。二、模块设计与分析1 登录页面:输入帐号和密码,根据用户输入的帐号和密码,到后台文件查询,若正确则登录成功, 并保存卡好信息已备后用。 若帐号存在和密码不匹配或无该帐号已经注销,提示该帐号已存在或已注销。2 主界面页面:主要导航栏有存款、取款、账户信息、注销、注销、返回上一步。3. 开户页面:提供开户界面, 由用户输入新账户的信息, 将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。4 存钱页面:从登录界面得到帐号,并提供数据输入界面,等待用户的输入存款金额
3、,同时将存钱的金额显示在页面上。5 取款页面:从登录界面得到帐号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款, 或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上。6 账户信息页面:从登录界面得到帐号,把本人显示到界面中。7 转账页面:从登录界面得到帐号,输入要转入的帐号,在输入金额,显示在页面上,如果金额超过余额将操作失败。8注销页面:从关闭文件,状态为注销,最后关闭整个系统。三、程序设计介绍系统由 2 个类构成, YH(银行类)和 Consumer(客户类),Consumer(客户类)是 YH(银行类)的公有继承类。 YH
4、(银行类)中有实现登陆系统,开户,销户,转账,退出系统等功能函数, Consumer(客户类)中有实现存钱,取钱,修改个人账号密码,显示个人账号信息等功能函数。因为Consumer(客户类)是 YH(银行类)的公有继承类,所以,一个用户只需创建一个Consumer(客户类)对象,当用户进行开户,销户等操作时,可以直接调用 YH(银行类)的成员函数。银行类中的函数:void set_account();/银行开户功能void del_account();/注销账户功能void transfer(int);/转账功能void enter_account(); /进入用户个人信息功能void add
5、money(int,float);/ 存款功能void exitYH();/退出系统四、框架结构图银行管理系统五、程序代码#include<iostream>登录界面#include <string>#include<fstream>using namespace std;class consumer;class YH/银行类主界页面注册开户public:void set_account();/ 银行开户功能void del_account();/注销账户功能void transfer(int);/转账功能存取转void enter_account(); /
6、 进入用户个人信息功能钱款账void addmoney(int,float);/ 存款功能void exitYH();/页页页退出系统面面面void functionshow();注销退出修查改看密信码息void save();void load();/功能界面protected:consumer *account20;staticint acnum;/ 账户数;class consumer:public YH/ 用户类 ,继承银行类的属性public:friend class YH;consumer(int id,string Name,string PassWord,float m)ID=
7、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();/取钱void change_passwd();void add_money(float);void dec_money(float);float get_money();/ 卡卡转帐p
8、rivate: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<<acnum<<""for(n=0;n<acnum;n+)outfile<<accountn->ID<<&
9、quot;"outfile<<accountn->money<<""outfile<<accountn->name<<""outfile<<accountn->passwd<<""outfile.close();/* 读入用户信息功能实现*/void YH:load()ifstream infile("bankdat.dat",ios:in);if(!infile)cerr<<" 读取错误 ,无
10、资料中 !"<<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;consumer * acc = new consumer(id,nam,passw,m);accountn = acc;infile.close();cout<<" 读取资料正常!
11、"<<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; elseif(flag)cout<<" 帐号不存在 !"<<endl<<endl;return ;i+;float b;cout<<
12、;endl<<" 请输入你要转帐的金额:"cin>>b;while(b<=0)cout<<" 请输入正确的数字!"<<endl;cout<<" "cin>>b;if(accountx->get_money()<b) cout<<" 对不起 ,金额不够 !"<<endl; else accountx->dec_money(b);accounti->add_money(b);return;/*
13、账户金额计算 */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()return money;void main()YH yh;yh.functionshow();/* 主界面显示 */void YH:functionshow()int n;dosystem("
14、cls"); load();cout<<endl<<" 请输入相应的操作序号进行操作:"<<endl;cout<<" cout<<" cout<<" 1. 开户cout<<" cout<<" 2.账户登录cout<<" cout<<" 3.账户注销cout<<" cout<<" 4.退出系统cout<<" cou
15、t<<" cout<<" "cin>>n;while(n<1|n>4)"<<endl; "<<endl; "<<endl; "<<endl; "<<endl; "<<endl; "<<endl; "<<endl; "<<endl; "<<endl;"<<endl;cout<
16、<" 操作错误,请输入正确的操作序号 cout<<" "!"<<endl;cin>>n;switch(n)case 1: set_account();/开户break;case 2:enter_account();/登录break;case 3: del_account();/注销break;case 4: exitYH();/ 退出break;cin.get();while(true);void YH:enter_account()int id;cout<<" 请输入帐号 :"c
17、in>>id;int flag = 1;int i = 0;/_page_break_while(i<acnum)&&(flag)if(id=accounti->get_id() flag = 0; elseif(flag)i+;cout<<" 帐号不存在 !"<<endl<<endl;return;cout<<" 请输入密码 :"string passw;cin>>passw;if(passw!=accounti->get_passwd() ret
18、urn;accounti->display();cin.get();cin.get();int n;dosystem("cls");cout<<" 请选择下列操作:"<<endl;cout<<" "<<endl;cout<<" "<<endl;cout<<" 1.查看账户信息 "<<endl;cout<<" "<<endl;cout<<&q
19、uot; 2.取款 "<<endl;cout<<" "<<endl;cout<<" 3.存款 "<<endl;cout<<" "<<endl;cout<<" 4.修改密码 "<<endl;cout<<" "<<endl;cout<<" 5.转账 "<<endl;cout<<" "&
20、lt;<endl;cout<<" 6.返回上一菜单 "<<endl;cout<<" "<<endl;cout<<" "<<endl;cout<<" "cin>>n;switch(n)case 1: accounti->display();break;case 2: accounti->fetchmoney();save();break;case 3:accounti->savemoney();sa
21、ve();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;cout<<endl<<" 请输入开户号:"cin>>id;cout<<endl<<" 请输入开户人姓名:"c
22、in>>nam;cout<<endl<<" 请输入开户密码:"cin>>passw;cout<<endl<<" 请输入存入金额:"cin>>m;while(m<=0)cout<<" 请输入正确的数字!"<<endl;cin>>m;consumer * acc = new consumer(id,nam,passw,m);accountacnum = acc;cout<<" 开户成功 !&q
23、uot;<<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<acnum)&&(flag)if(id = accounti->get_id()flag = 0;elsei+;if(flag)cout<<" 该帐号不存在,请重新输入!"&l
24、t;<endl;return;for(int j=i;j<acnum;j+)accountj = accountj+1;accountacnum-1=NULL;acnum-;cout<<" 你的账号已注销!"<<endl<<endl;save();cin.get();return;void consumer:change_passwd()string pwd,repwd;cout<<" 请输入新密码:"cin>>pwd;cout<<" 请再输入一次新密码:&qu
25、ot;cin>>repwd;if(pwd!=repwd)cout<<" 你输入的两次密码不一样,按输入键返回上一层菜单!"<<endl;elsecout<<" 密码修改成功,请牢记!"<<endl;cin.get();void consumer:fetchmoney()float m;char ch;docout<<endl<<" 输入取款金额 :"<<" ¥ >"<<endl ;cin>>
26、m;while(m<=0)cout<<" 请输入正确的数字!"<<endl;cout<<" "cin>>m;if(money<m)cout<<" 对不起,你的余额不足!"<<endl;elsemoney=money-m;cout<<endl<<" 操作成功,请收好钱!"<<endl;cout<<" 是否要继续该项操作:(Y/N) "<<endl;cout
27、<<" "cin>>ch;while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')/选择错误时判定cout<<" "cin>>ch;while(ch='y'|ch='Y');void consumer:savemoney()/ 存钱函数功能实现float c;char ch;docout<<endl<<"请
28、输入要存入的金额:"<<" ¥>"<<endl ;cin>>c;while(c<=0)cout<<" 输入错误 ,请重新输入 !"<<endl;cout<<" "cin>>c;money=money+c;cout<<" 操作已成功 !"<<endl;cout<<" 是否要继续该项操作:(Y/N) "<<endl;cout<<&quo
29、t; "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<<"#帐号:"<<ID<<endl;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防控疫情的安全教案8篇
- 福建省宁德市福鼎市2024-2025学年高二上学期第一次月考(10月)数学试题含答案
- 2022师德师风个人自查报告(5篇)
- 2024年传统银饰项目资金需求报告代可行性研究报告
- DB12-T 1116-2021 控制性详细规划技术规程
- 海南省海口市(2024年-2025年小学五年级语文)统编版竞赛题((上下)学期)试卷及答案
- 江西省赣州市(2024年-2025年小学五年级语文)统编版质量测试(上学期)试卷及答案
- 2024年非晶、微晶合金项目资金筹措计划书代可行性研究报告
- 2023年动叶可调轴流电站用风机资金申请报告
- 三年级数学计算题专项练习汇编及答案
- 辛弃疾词《青玉案·元夕》
- T-HNKCSJ 002-2023 河南省地源热泵系统工程技术规范
- 《无人机驾驶基础》课件-项目四 无人机结构及性能
- XX公司安全生产风险管控与隐患排查双重预防管理体系手册
- 心血管内科试题库+答案
- 2024年保密知识测试有解析答案
- 酒店住宿水单模板-皇冠假日
- 成都麓湖生态城案例详解
- 2024年小升初数学模拟试卷
- 员工工伤事故报告(2篇)
- 广东省深圳市2023年中考英语试题(含答案与解析)
评论
0/150
提交评论