《银行管理系统设计报告样板45237.docx》由会员分享,可在线阅读,更多相关《银行管理系统设计报告样板45237.docx(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、银行管理系统设计报告学生姓名: 宋科科超 冯冯瑞 刘刘林锋学生学号: 13308112822 13008133041300813306班级:软件件学院三三班一、 需求分析设计一个银银行账户户管理系系统,要要求实现现以下功功能:1. 实现银行行管理员员管理的的功能,要要求完成成以下功功能:11)管理理员的登登录(设设本系统统的管理理员只有有一个,管管理员信信息包括括管理员员姓名,管管理员密密码);2)修修改管理理员密码码;3)为为新用户户创建账账户信息息,账户户信息包包括用户户帐号(要要求系统统自动分分配用户户账号)、用用户账户户密码(为为用户设设置初始始密码11234456)、用用户身份份证号
2、码码、用户户姓名、用用户地址址、帐户户金额;4)删删除需要要注销账账户的用用户的账账户信息息;5)查查询银行行信息,包包括:该该银行的的总客户户数,总总的存款款金额;6)某某个用户户的账户户信息。2. 实现客户户对自己己账户的的操作功功能,要要求完成成以下功功能:11)用户户的登录录(未登登录或登登录失败败时不能能执行用用户账户户的操作作);22)修改改帐户信信息,要要求用户户输入帐帐号,根根据用户户需要修修改除了了帐号之之外的其其余信息息;3)模模拟用户户实现存存款和取取款的功功能;44)记录录用户账账户的历历史账单单,方便便用户查查阅,如如用户何何时从银银行取款款多少等等;5)查询账账户信
3、息息,根据据输入的的帐号查查询用户户信息、帐帐户金额额和用户户的明细细账单。3. 以上功能能要求以以分级菜菜单的形形式提供供,不同同的角色色状态得得到不同同的菜单单。二、设计思思想:定义一个用用户类ccusttomeer,数数据成员员主要有有姓名、身身份证号号码、住住址、余余额等内内容,可可供用户户操作的的功能有有开户,销销户、存存款、取取款、转转账、余余额查询询等。用用户可根根据界面面提示自自行操作作。定义一个管管理员aadmiinisstraatorr:管理员信息息包括管管理员姓姓名,管管理员密密码;管管理员的的登录;修改管管理员密密码;可可操作的的功能有有:1 为新用用户创建建账户信信息
4、,账账户信息息包括用用户帐号号、用户户账户密密码(为为用户设设置初始始密码11234456)、用用户身份份证号码码、用户户姓名、用用户地址址、工作作单位、 帐户金额;2 删除需要注销账户的用户的账户信息;3 查询银行信息,包括:该银行的总客户数,总的存款金额;4 某个用户的账户信息。由于要实现界面的回复,所以用了大量的函数调用。在控制用户的循环操作时采用了for循环与break匹配的结构。在整体设计计上将程程序分为为四个部部分,第第一个部部分“cusstommer.h”,在这这个文件件中对所所要用到到的类ccusttomeer和aadmiinisstraatorr进行了了申明;第二个个部分“a
5、dmminiistrratoor.ccpp”,在这这个文件件里定义义了管理理员,并并且实现现了管理理员对系系统的管管理功能能;第三三个部分分“cusstommer.cppp” 是对对在“ccusttomeer.hh”中所所声明的的类cuustoomerr定义了了一个实实体,也也可以说说是完成成了了帐帐户的操操作函数数;第四四个部分分“maiin.ccpp” 是主主函数mmainn(),所所在文件件,在其其中不仅仅定义了了主函数数,而且且完成了了菜单操操作函数数。简易流程图图:三测试结结果分析析与讨论论:首先进入入管理员员登陆界界面如下下:再选择管管理员相相应的服服务(11-44),管管理员注注
6、册:然后进行管管理员登登陆服务务:修改密码服服务:第二步进入入用户界界面:进入新开账账户服务务:再进行其他他用户服服务:李强取了550000元新开户张三三预存金金额2000000元;进进行转账账服务:查询服务:李强账账户应剩剩120000元元:张三账户2230000元:新注册账户户李四 预存3000000元:进进行删账账户服务务,删除除张三:总金额查询询:测试结果完完毕退出出程序:测试过程中中的问题题及采取取的措施施: 全局变量之之间的冲冲突?取消一一个进行行重新测测试。 循环判定条条件的不不完整?进行分分步调试试,结合合程序的的执行结结果和目目标结果果进行修修改。 输入数据不不正当?通过if
7、f语句进进行取舍舍结合测测试进行行调整。 有时还存在在语法问问题? 进行查查找结合合测试进进行调整整。四源程序序:“custtomeer.hh”#inclludee #inccludde #ifnndeff CUUSTOOMERR_H #deffinee CUUSTOOMERR_H classs ccusttomeer privvatee:douublee cuustoomerr_Nuum;chaar ssecrret7;intt teest;chaar NNamee8;chaar IID330; chaar WWorkk_Grroupp800; chaar TTel_Numm200;chaa
8、r AAddrresss600; chaar ppasssworrd110; flooat Monney; publlic: voiid ssavee_mooneyy();voiid gget_monney();voiid cchannge_monney();voiid ffindd_innforr();voiid llin_monney();friiendd vooid opeen_aaccoountt();friiendd vooid savve_mmoneey();friiendd vooid gett_mooneyy();friiendd vooid chaangee_mooneyy(
9、);friiendd vooid finnd_iinfoor(); friiendd vooid dell_acccouunt();friiendd vooid linn_mooneyy(); ; classs aadmiinisstraatorr privvatee:intt Addminnisttrattor_Numm;chaar SSecrret7;chaar NNamee100;intt teest;publlic: voiid oopenn_Addminn();voiid gget_Admmin();voiid cchg_seccrett();friiendd vooid opeen
10、_AAdmiin();friiendd vooid gett_Addminn();friiendd vooid chgg_seecreet();friiendd vooid linn_mooneyy(); ; #enddif;“admiinisstraatorr.cppp”#inclludee ccusttomeer.hh#inclludee#inclludee usingg naamesspacce sstd;void Admminiistrratoor();void sleect_Admmin();int AAdmiinisstraatorr_Nuum=110000; int TT=-11
11、; /整型型变量adminnisttrattor *q1; /指针针变量 本程序序支持11个管理理员 void opeen_AAdmiin() chaar SSecrret7; chaar NNamee100; if(Admminiistrratoor_NNum=10001) coout对对不起,管管理员已已经存在在,你没没权限注注册!eendll; Addminnisttrattor(); sllectt_Addminn(); reeturrn; T+; Admminiistrratoor_NNum+; qTT=nnew admminiistrratoor; couut请输输入您的的姓名:N
12、Namee; chaar RReseecreet77; do coout请请输入你你的密码码(6位位):SSecrret;couut请重重新输入入你的密密码:RReseecreet;if(strrcmpp(Seecreet,RReseecreet)=0)coout密密码设置置成功eendll;brreakk;elssecoout你你两次输输入有误误!enndl;coout请请重新设设置密码码!Admminiistrratoor_NNum=Admminiistrratoor_NNum; forr(innt aa=0;aNaamea=Nammeaa; forr(innt ff=0;fSeccret
13、tf=Seecreetff; qT-ttestt=1; couut恭喜喜您,注注册成功功! 您您成为管管理员!你的账账号:AAdmiinisstraatorr_Nuum要牢牢记!eendll; couut您需需要继续续服务吗吗(Y/N)?ccn; forr(;ccn!=n&ccn!=N&ccn!=y&ccn!=Y;) coout您您刚才输输入的既既不是“Y”也不是是“N”!enndl; coout您您需要继继续服务务吗(YY/N)?cn; if(cn=yy|cn=YY) Addminnisttrattor(); sllectt_Addminn(); reeturrn; if(cn=nn|cn=
14、NN) coout感感谢您的的使用,再再见!eendll; reeturrn; void gett_Addminn()coutt请输入入管理员员您的账账号:a; cnn=attoi(a); iff(cnn!=110011) ccoutt对不起起,你不不是管理理员或你你的账号号有误!enddl; ccoutt您需要要继续此此服务吗吗?(YY/N)cnn; ffor(;cnn!=n&cnn!=N&cnn!=y&cnn!=Y;) couut您刚刚才输入入的既不不是“Y”也不是是“N”!enndl; couut您需需要继续续此服务务吗?(Y/NN)ccn; iif(ccn=y|ccn=Y) gett_
15、Addminn(); retturnn; iif(ccn=n|ccn=N) Admminiistrratoor(); sleect_Admmin(); retturnn; ellse zz=cnn-10001; brreakk; docouut请输输入你的的密码:sser;if(strrcmpp(seer,qqz-SSecrret)=00)brreakk;elssecoout输输入密码码有误!enddl;coout请请重新输输入!eendll;whiile(1); couut管理理员登陆陆成功!enddl; couut您需需要继续续使用此此系统吗吗(Y/N)?ccn1; forr(;ccn1!
16、=nn&cn11!=N&cnn1!=y&ccn1!=YY;) coout您您刚才输输入的既既不是“Y”也不是是“N”!enndl; coout您您需要继继续使用用此系统统吗(YY/N)?cn11; if(cn11=y|cnn1=Y) Addminnisttrattor(); sllectt_Addminn(); reeturrn; iff(cnn1=n|ccn1=NN)retturnn; void chgg_seecreet()coutt请输入入管理员员您的账账号:a; cnn=attoi(a); iff(cnn!=110011) ccoutt对不起起,你不不是管理理员或你你的账号号有误!en
17、ddl; ccoutt您需要要继续此此服务吗吗?(YY/N)cnn; ffor(;cnn!=n&cnn!=N&cnn!=y&cnn!=Y;) couut您刚刚才输入入的既不不是“Y”也不是是“N”!enndl; couut您需需要继续续此服务务吗?(Y/NN)ccn; iif(ccn=y|ccn=Y) gett_Addminn(); retturnn; iif(ccn=n|ccn=N) Admminiistrratoor(); sleect_Admmin(); retturnn; ellse zz=cnn-10001; brreakk; docouut请输输入你的的密码:sser;if(str
18、rcmpp(seer,qqz-SSecrret)=00)brreakk;elssecoout输输入密码码有误!enddl;coout请请重新输输入!eendll;whiile(1);charr SSSecrret7;do coout请请输入你你的新密密码(66位):SSSeccrett;couut请重重新输入入你的新新密码:RReseecreet;if(strrcmpp(SSSecrret,Ressecrret)=00)coout密密码设置置成功eendll;brreakk;elssecoout你你两次输输入有误误!enndl;coout请请重新设设置新密密码!Seecreet,SSSeccr
19、ett); couut您需需要继续续使用此此系统吗吗(Y/N)?ccn1; forr(;ccn1!=nn&cn11!=N&cnn1!=y&ccn1!=YY;) coout您您刚才输输入的既既不是“Y”也不是是“N”!enndl; coout您您需要继继续使用用此系统统吗(YY/N)?cn11; if(cn11=y|cnn1=Y) Addminnisttrattor(); sllectt_Addminn(); reeturrn; iff(cnn1=n|ccn1=NN)retturnn;“custtomeer.ccpp”#inclludee ccusttomeer.hh #inccludde #i
20、nccludde usingg naamesspacce sstd;void diss_meenu();void sleect_mennu();doublle ccusttomeer_NNum=100000; /用户帐帐号int ZZ=0; /变量 /指指针变量量custoomerr *pp1000000; /指针变变量 本本程序支支持1000000个用户户adminnisttrattor *Q1; /指针针变量 本程序序支持11个管理理员 voidd oppen_acccounnt() / 开户户函数 chaar ssecrret7; chaar NNamee8; chaar IID330;
21、 chaar WWorkk_Grroupp800; chaar TTel_Numm200; chaar AAddrresss600; flooat Monney(0); if(cusstommer_Numm=2200000) coout对对不起,系系统存储储空间已已满,无无法开户户,对此此带来的的不便我我们深表表歉意!enddl; diis_mmenuu(); sllectt_meenu(); reeturrn; Z+; cusstommer_Numm+; pZZ=nnew cusstommer; couut请输输入您的的姓名:NNamee; chaar rreseecreet77; do c
22、oout请请输入你你的密码码(6位位):ssecrret;couut请重重新输入入你的密密码:rreseecreet;if(strrcmpp(seecreet,rreseecreet)=0)coout密密码设置置成功eendll;brreakk;elssecoout你你两次输输入有误误!enndl;coout请请重新设设置密码码!enndl; whhilee(1); couut请输输入您的的身份证证件号码码:IID; couut请输输入您的的单位地地址:WWorkk_Grroupp; couut请输输入您的的电话号号码:TTel_Numm; couut请输输入您的的住址:AAddrresss;
23、 couut请输输入您的的金额(开户 ¥500.000元起):MMoneey;/银行行开户550元起起 chaar aa1880; forr(;) ciina1; Mooneyy=attoi(a1); iff(Mooneyy110000000000) ccoutt对不起起,您输输入的金金额不正正确。eendll; ccoutt(提示示消息:金额小小于500或过于于巨大。)eendll; ccoutt请重新新输入您您的金额额:cusstommer_Numm=cuustoomerr_Nuum; forr(innt aa=0;aNaamea=Nammeaa; forr(innt ff=0;fsecc
24、rettf=seecreetff; forr(innt bb=0;bIDDb=IDDb; forr(innt cc=0;cWoork_Grooupc=Worrk_GGrouupcc; forr(innt dd=0;dTeel_NNumd=Tell_Nuumdd; ffor(intt e=0;eeAdddreesse=Adddresssee; pZZ-Monney=Monney; pZZ-tesst=11; couut恭喜喜您,开开户成功功!您的的帐户为为: ccusttomeer_NNum 请牢记记enddl; couut您需需要继续续服务吗吗(Y/N)?ccn; forr(;ccn!=n&c
25、cn!=N&ccn!=y&ccn!=Y;) coout您您刚才输输入的既既不是“Y”也不是是“N”!enndl; coout您您需要继继续服务务吗(YY/N)?cn; if(cn=yy|cn=YY) diis_mmenuu(); sllectt_meenu();retturnn; if(cn=nn|cn=NN) coout感感谢您的的使用,再再见!eendll; reeturrn; voidd saave_monney() /存款款函数 coout请请输入您您的帐号号:aa; cn=atooi(aa); if(cncuustoomerr_Nuum|pccn-1100000-teest=0) c
26、oout对对不起,您您输入的的帐户错错误或并并不存在在!enndl; coout您您需要继继续存款款吗?(Y/NN)cn; foor(;cn!=nn&cn!=NN&cn!=yy&cn!=YY;) ccoutt您刚才才输入的的既不是是“Y”也不是是“N”!enndl; ccoutt您需要要继续存存款吗?(Y/N)cnn; iff(cnn=y|cnn=Y) ssavee_mooneyy(); rretuurn; iff(cnn=n|cnn=N) ddis_mennu(); sslecct_mmenuu(); rretuurn; elsse z=cn-100000;breeak;docouut请输输
27、入你的的密码:sser;if(strrcmpp(seer,ppZ-ssecrret)=00)brreakk;elssecoout输输入密码码有误!enddl;coout请请重新输输入!eendll;whiile(1);coutt请输入入您存入入的金额额:ssavee;if(savve00) coout对对不起,您您输入的的金额错错误!eendll; coout请请输入您您存入的的金额:MMoneey=ppz-MMoneey+ssavee;coutt存款成成功!eendll;coutt您需要要继续存存款吗(Y/NN)?cnn1;for(;cnn1!=n&ccn1!=NN&cn11!=y&cnn1
28、!=Y;)couut您刚刚才输入入的既不不是“Y”也不是是“N”!enndl;couut您需需要继续续存款吗吗(Y/N)?ccn1;if(ccn1=yy|cn11=Y) savve_mmoneey(); retturnn; if(ccn1=nn|cn11=N) diss_meenu(); sleect_mennu();retturnn; voidd geet_mmoneey() /取取款函数数 couut请输输入您的的帐号:a; cnn=attoi(a); iff(cnnccusttomeer_NNum|pcn-100000-ttestt=00) ccoutt对不起起,您输输入的帐帐户错误误或
29、并不不存在!enddl; ccoutt您需要要继续取取款吗?(Y/N)cnn; ffor(;cnn!=n&cnn!=N&cnn!=y&cnn!=Y;) couut您刚刚才输入入的既不不是“Y”也不是是“N”!enndl; couut您需需要继续续取款吗吗?(YY/N)ccn; iif(ccn=y|ccn=Y) gett_mooneyy(); retturnn; iif(ccn=n|ccn=N) diss_meenu(); sleect_mennu(); retturnn; ellse zz=cnn-1000000; brreakk; docouut请输输入你的的密码:sser;if(strrcmpp(seer,ppZ-ssecrret)=00)brreakk;elssecoout输输入密码码有误!enddl;coout请请重新输输入!eendll;whiile(1); couut请输输入您要要取出的的金额:gett; iff(geet00) coout对对不起,你你输入的的金额不不正确!enddl;coout请请输入您您要取出出的金额额:pzz-Monney) couut对不不起,您您的余额额额不足足!enndl; couut请输输入您要要取出的的金额:Monney=pzz-Monney-