c++银行账户管理课程设计.docx
- 文档编号:2402047
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:18
- 大小:250.15KB
c++银行账户管理课程设计.docx
《c++银行账户管理课程设计.docx》由会员分享,可在线阅读,更多相关《c++银行账户管理课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
c++银行账户管理课程设计
C++银行账户管理
课程设计报告
学院:
计算机工程学院班级:
09级计算机科学与技术1班
学生姓名:
学号:
2009404010125
设计地点(单位):
A5-101
设计题目:
银行账户管理程序
完成日期:
2011年12月25日
指导教师评语:
____________________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
________________
教师签名:
__________________
一、设计思想……………………………………………………03
二、模块设计与分析……………………………………………03
三、程序设计介绍………………………………………………04
四、框架结构图…………………………………………………04
五、程序代码……………………………………………………05
六、测试数据……………………………………………………14
七、数据调试……………………………………………………14
八、课程设计总结………………………………………………16
九、课程设计教材及主要参考资料……………………………16
一、设计思想
定义一个用户类customer和一个银行类YH,程序运行时,可以由用户选择进行开户、登录、取款、存款、修改密码、转账、销户操作,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。
二、模块设计与分析
1.登录页面:
输入帐号和密码,根据用户输入的帐号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。
若帐号存在和密码不匹配或无该帐号已经注销,提示该帐号已存在或已注销。
2.主界面页面:
主要导航栏有存款、取款、账户信息、注销、注销、返回上一步。
3.开户页面:
提供开户界面,由用户输入新账户的信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。
4.存钱页面:
从登录界面得到帐号,并提供数据输入界面,等待用户的输入存款金额,同时将存钱的金额显示在页面上。
5.取款页面:
从登录界面得到帐号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上。
6.账户信息页面:
从登录界面得到帐号,把本人显示到界面中。
7.转账页面:
从登录界面得到帐号,输入要转入的帐号,在输入金额,显示在页面上,如果金额超过余额将操作失败。
8.注销页面:
从关闭文件,状态为注销,最后关闭整个系统。
三、程序设计介绍
系统由2个类构成,YH(银行类)和Consumer(客户类),Consumer(客户类)是YH(银行类)的公有继承类。
YH(银行类)中有实现登陆系统,开户,销户,转账,退出系统等功能函数,Consumer(客户类)中有实现存钱,取钱,修改个人账号密码,显示个人账号信息等功能函数。
因为Consumer(客户类)是YH(银行类)的公有继承类,所以,一个用户只需创建一个Consumer(客户类)对象,当用户进行开户,销户等操作时,可以直接调用YH(银行类)的成员函数。
银行类中的函数:
voidset_account();//银行开户功能
voiddel_account();//注销账户功能
voidtransfer(int);//转账功能
voidenter_account();//进入用户个人信息功能
voidaddmoney(int,float);//存款功能
voidexitYH();//退出系统
四、框架结构图
五、程序代码
#include
#include
#include
usingnamespacestd;
classconsumer;
classYH//银行类
{
public:
voidset_account();//银行开户功能
voiddel_account();//注销账户功能
voidtransfer(int);//转账功能
voidenter_account();//进入用户个人信息功能
voidaddmoney(int,float);//存款功能
voidexitYH();//退出系统
voidfunctionshow();
voidsave();
voidload();//功能界面
protected:
consumer*account[20];
staticintacnum;//账户数
};
classconsumer:
publicYH//用户类,继承银行类的属性
{
public:
friendclassYH;
consumer(intid,stringName,stringPassWord,floatm)
{
ID=id;name=Name;money=m;passwd=PassWord;
}
consumer(){ID=0;name='0';money=0;passwd='0';}
intget_id(){returnID;}
voidsavemoney();//取钱
stringget_passwd(){returnpasswd;}//取得密码
voiddisplay();
voidfetchmoney();//取钱
voidchange_passwd();
voidadd_money(float);
voiddec_money(float);
floatget_money();//卡卡转帐
private:
intID;//开户帐号
stringpasswd;//用户密码
stringname;//用户姓名
floatmoney;//开户金额
};
voidYH:
:
save()
{ofstreamofile("bankdat.dat",ios:
:
out);
ofstreamoutfile("bankdat.dat",ios:
:
out);
intn=0;
outfile< for(n=0;n {outfile< outfile< outfile< outfile< } outfile.close(); } /*读入用户信息功能实现*/ voidYH: : load() {ifstreaminfile("bankdat.dat",ios: : in); if(! infile) {cerr<<"读取错误,无资料中! "< return; } intn=0; intid,m; stringnam,passw; infile>>acnum; for(n=0;n {infile>>id; infile>>m; infile>>nam; infile>>passw;account[n]->passwd; consumer*acc=newconsumer(id,nam,passw,m); account[n]=acc; } infile.close(); cout<<"读取资料正常! "< } /*转账功能实现*/ voidYH: : transfer(intx) {intid; cout<<"请输入帐号: "; cin>>id; intflag=1; inti=0; while((i { if(id==account[i]->get_id())flag=0;elsei++; } if(flag) { cout<<"帐号不存在! "< return; } floatb; cout< "; cin>>b; while(b<=0) { cout<<"请输入正确的数字! "< cout<<"→"; cin>>b; } if(account[x]->get_money() ! "< else{account[x]->dec_money(b);account[i]->add_money(b);} return; } /*账户金额计算*/ voidconsumer: : add_money(floatx) {money=x+money;} voidconsumer: : dec_money(floatx) {money=money-x;} voidYH: : addmoney(intx,floaty) {account[x]->money=account[x]->money-y; } floatconsumer: : get_money() {returnmoney;} voidmain() {YHyh; yh.functionshow(); } /*主界面显示*/ voidYH: : functionshow() { intn; do {system("cls");load(); cout< "< cout<<"㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣"< cout<<"㊣㊣"< cout<<"㊣1.开户㊣"< cout<<"㊣㊣"< cout<<"㊣2.账户登录㊣"< cout<<"㊣㊣"< cout<<"㊣3.账户注销㊣"< cout<<"㊣㊣"< cout<<"㊣4.退出系统㊣"< cout<<"㊣㊣"< cout<<"㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣"< cout<<"→"; cin>>n; while(n<1||n>4) { cout<<"操作错误,请输入正确的操作序号! "< cout<<"→"; cin>>n; } switch(n) { case1: set_account();//开户 break; case2: enter_account();//登录 break; case3: del_account();//注销 break; case4: exitYH();//退出 break; } cin.get(); } while(true); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 银行 账户 管理 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)