您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > 银行账户管理系统设计说明书
*******************实践教学*******************兰州理工大学计算机与通信学院2011年秋季学期面向对象课程设计题目:银行账户管理系统专业班级:计算机科学与技术四班姓名:卢文雅学号:10240444指导教师:朱红蕾成绩:0目录摘要1一.系统总体框架2二.模块设计与分析3三.类的设计与分析4四.特色算法分析5五.功能测试7设计总结11参考文献12致谢13附录141摘要本文详细介绍了银行账户管理系统程序的设计与实现,该程序具有系统实现的主要有储蓄卡开户管理、存取款管理、用户查询历史数据显示、注销等功能。程序设计语言采用VisualC++,程序运行平台为WindowsXP。该银行帐目管理信息系统,优点是设计过程思路清晰、模块划分简洁,设计各阶段分工明确。经过实践证明,该划分是合理的,极大得提高了本系统的实现。关键词:银行账户管理系统程序设计C++一.系统总体框架图1描述了银行管理系统的主要界面,登录界面,注册开户,主界页面,注销退出。图1银行管理系统存钱页面取款页面余额页面历史记录注销页面登录界面注册开户主界页面注销退出二.模块设计与分析2.1登录页面输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。若卡号存在和密码不匹配或无该卡号已经注销,提示该卡号已存在或已注销,保持界面三次不变等待用户的重新输入。2.2主界面页面主要导航栏有:欢迎使用储蓄卡管理(存款、取款、查询余额、查询历史记录、注销退出)2.3储蓄卡开户页面提供开户界面,由用户输入新储蓄卡的所有信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。2.4存钱页面从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库,同时将存钱的金额显示在页面上。2.5取款页面从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上,。2.6查询余额页面从登录界面得到卡好,把该卡上的余额显示到界面中。2.7查询历史记录页面2.8注销页面从关闭文件,状态为注销,最后关闭整个系统。面得到卡号,把该卡在取款页面中,输入取款金额并对取款金额与存款余额进行比较,如果三次都超过的话就输出:很抱歉,你重复输入错误多次,在退卡中……,如果取款金额小于存款余额的话就执行,并保存记录。的所有存款取款查询出来,并显示在页面上。三类的设计与分析1.User类classUser主要制定用户的成员数据,并进行登录与保存功能:表1User类说明表名称属性说明Accout数据成员用户账户数据Name数据成员用户姓名Fmoney数据成员用户首次金额ID数据成员用户身份证号Address数据成员用户地址Telephone数据成员用户电话Pword1数据成员用户密码Pword2数据成员用户再一次确认密码Get()构造函数默认构造函数Login()成员方法登录方法Password()成员方法密码验证SaveFile()成员方法保存数据2.Function类Function类主要实现用户的各种功能:图1四特色算法分析1.User类中的PassWord方法功能:输入密码并进行确认,如果密码确认三次失败,则退出系统。代码:voidUser::PassWord(){intnum=0;while(num3){cout\n\t\t请输入位储蓄密码:;for(inti=0;i8;i++){Pword1[i]=getch();cout*;}Pword1[8]='\0';coutendl;cout\n\t\t请再一次确认密码:;for(inti=0;i8;i++){Pword2[i]=getch();cout*;}coutendl;Pword2[8]='\0';if(strcmp(Pword1,Pword2)==0){cout\n\n\t\t密码确认成功,单击任何键进入主菜单;return;}else{num++;cout\n\t\t你输入的密码错误,请重新输入!\nendl;}if(num==3){system(cls);cerr\n\n\n\t\t对不起,你三次输入不正确\nendl\t\t感谢你的使用,再见!endl;exit(0);}getch();}五.功能测试5.1首页图25.2储蓄卡开户页面图35.3主界面页面主要导航栏有:欢迎使用储蓄卡管理(存款、取款、查询余额、查询历史记录、注销退出)图45.4存钱页面图515.5取款页面从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上。输入取款金额:当取款金额大于现有金额:图6当取款金额小于或等于现有金额:图725.6查询余额页面图85.7查询历史记录页面图935.8用户信息图105.9注销页面从保存数据并关闭文件,状态为注销,最后关闭整个系统。图11设计总结通过此次课程设计,我发现程序存在的不足之处在于程序以文件方式储存,并且每个用户信息与用户的历史记录分别用一个文件来储存,如果这样的话一个用户就需要二个文件储存信息,那么一万个用户就需要用到二万个文件保存。这不但浪费内存而已在查找文件也会花费时间。重要的是,通过此次课程设计我深刻理解到编程员的心理。知道应如何在困难中一步一步发现问题并解决问题。知道了软件在程序设计中对界面和功能如何平衡。参考文献[1]陈维兴,林小茶.c++面向对象程序设计教程.北京:清华大学出1996.2004.[2]张国峰.C++程序设计实用教程.北京:清华大学出版社,1996.[3]张松梅.C++语言教程.电子科技大学出版社,1993.[4]阎龙.C程序员的C++指南.北京航空航天大学出版社,1992.[5]王博.面向对象的建模、设计技术与方法.北京希望电脑公司,1990.致谢首先感谢我的指导老师朱红蕾,她在我的课设中提出了指导性的方案和框架,并指导我阅读相关资料和书籍,使我在不熟悉的领域中仍能迅速掌握新技术。在这三周的面向对象课程设计中,对课本中所学的知识进一步理解和掌握,学会了如何把学到的知识用于解决实际问题,锻炼了自己动手的能力。在课程设计时遇到了很多的问题,在老师的帮助,和对各种资料的查阅中,将问题解决,培养了我自主动手,独立研究的能力,为今后在学习工作中能更好的发展打下了坚实的基础。附录:程序源代码#includeiostream#includefstream#includestring#includevector#includealgorithm#includestrstream#includeconio.husingnamespacestd;classFunction;classUser{public:voidget(User&);friendclassFunction;ostream&print(ostream&os);//friendostream&operator(ostream&o,constUser&u);friendistream&operator(istream&i,User&u);voidPassWord();boolLogin(User&);voidSaveFile(User&);vectorstringStrFunction;User(){}User(intA,stringN,intF,stringI,stringAd,intT):Accout(A),Name(N),Fmoney(F),ID(I),Address(Ad),Telephone(T){}private:intAccout;stringName;intFmoney;stringID;stringAddress;intTelephone;charPword1[9];charPword2[9];};classFunction{public:voidSaving(User&);voidDrawing(User&);voidBalance(User&);voidRecord(Usprivate:1intSaveAndDrawMoney;};voidFunction::Saving(User&u){system(cls);cout\n\n\n\t\t*********************************************\nendl;cout\t\t请输入存款金额:;stringstr1(\n\t\t现存RMB钞+);cinSaveAndDrawMoney;u.Fmoney+=SaveAndDrawMoney;strstreamss;stringstr2;ssu.Accout;ssstr2;stringfrist=Record+str2+.txt;constchar*RecordFile=frist.c_str();ofstreamoutfile(RecordFile,ios::out|ios::app);outfilestr1SaveAndDrawMoneyendl;outfile.close();outfile.clear();cout\n\n\t\t操作成功,单击任何键返回主菜单!;getch();}voidFunction::Drawing(User&u){system(cls);cout\n\n\n\t\t*********************************************\nendl;cout\t\t请输入取款金额:;stringstr1(\n\t\t现取RMB钞-);stringstr2;intk=0;while(k=3){cinSaveAndDrawMoney;u.Fmoney-=SaveAndDrawMoney;if(u.Fmoney=0){system(cls);cout\n\n\n\t\t正在出炒,请稍等!endl;strstreamss;ssu.Accout;ssstr2;stringfrist=Record+str2+.txt;constchar*RecordFile=frist.c_str();2ofstreamoutfile(Recooutfilestr1SaveAndDrawMoneyendl;outfile.close();outfile.clear();break;}else{k++;if(k=3){system(cls);cerr\n\n\n\t\t很抱歉,你重复输入错误多次endl\n\t\t正在退卡中……endl;exit(0);}system(cls);u.Fmoney+=SaveAndDrawMoney;cerr\n\n\n\t\t对不起,你输入的金额超出有效金额。endl\n\t\t请重新输入:;}}cout\n\n\t\t操作成功,单击任何键返回主菜单!;getch();}voidFunction::Balance(User&u){system(cls);cout\n\n\n\t\t*********************************************\nendl;cout\t\t你当前的余额是:;cout\t\tu.Fmoneyendl;cout\n\t\t*********************************************\nendl;cout\n\t\t操作成功,单击任何键返回主菜单!;getch();}voidFunction::Reco
本文标题:银行账户管理系统设计说明书
链接地址:https://www.777doc.com/doc-253386 .html