银行账户管理程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

面向对象程序设计课外实践报告项目名称:银行账户管理程序(win32应用程序)所在班级:13级物联网工程小组成员:王铎指导教师:赵红丹起止时间:2014.11.25——2014.12.20安阳师范学院面向对象程序设计课外实践项目基本信息项目名称设计一个排课程序项目简介1.问题描述设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。2.基本要求程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新3.测试数据程序应输入不少于10人的账户信息,应考虑到人员同名的情况。小组成员王铎任务分工一、问题描述及分析:我们的银行账户管理系统的主要问题就是:1.对刚刚开通银行账号的人们需要自动的按照先后顺序给出所属于他们的银行账号码,切不允许号码重复。即给账号一个初始值,且开通一个账户账号就自行加加,即将其设成静态成员,即可达到要求。2.对已开通的银行账户能进行注销账号、存、取钱,账户之间能相互转账,且能记住他们的账户信息,这就需要在银行类Bank里控制账号类Account的成员,然后进行编辑即可。3.开通银行账号时需谨记自己的身份证号码,这对以后查找个人信息十分关键,所以开户时需要认真填写个人信息,如实填写!切记!二、功能模块及结构描述:功能模块:安阳师范学院面向对象程序设计课外实践我们的程序共分为:开通银行账户、注销银行账户、对已开通的账户进行存款、取款、对已开通的两个账户进行转账、对已开通的账户的信息的查询(包括对单个账户的查询)这六个功能模块。结构描述:1.由于是银行账户管理系统,且是银行管理账号,所以共分为两个类,即账号类Account和银行类Bank。2.账号类Account主要管理账户的所有信息,对账号的输入、存入、输出,对账户余额的转入和转出等都是账号类管理的,而银行类Bank是对人们进行开通银行账户、注销银行账户、存款、取款、转账、已开通账户信息的查询等服务的三、主要流程描述:流程图:开始运行——开通账户(初始余额均为0)——账户信息存入文件——显示所有已开通账户的信息——查询单个账户信息(按身份证号码查找)——账户进行存款、取款——两个账户之间进行转账——注销账户——结束运行四、使用说明:程序运行后,进入界面:安阳师范学院面向对象程序设计课外实践在如上所示的界面下,根据提示进行基本的操作。五、问题及解决方法问题1.账户号码accountnumber自动生成的问题,刚开始是将其定义在账号类Account和银行类Bank这两个类的外面,虽然可以自动生成,但是却无法将各个账户号码保存起来并且正确输出。问题2.两个账户转账时,无法将上个账户的钱数正确的转入另一个账户问题3.注销账号时总是注销不成功,注销了还存在问题1的解决方法:accountnumber是账号,故应是账号类Account里的一个成员,由于它是自加的,所以将initnumber设置成静态成员,另设一个accountnumber成员,且将initnumber的值赋给accountnumber,这样就完成了账号的自行增加且能保存。问题2的解决方法:两个账户转账,应该也是账号类Account里的函数的问题,所以,为了能使转入钱的账户转入的钱数等于转出钱的账户转出的钱数,那么,转出钱的函数就应该有转出钱数的返回值,即returnmoney;而转出钱的函数就应该将其转出的money转给这个账户,则函数就应该写成voidAccount::cunru(floatx),而下面运用转账时安阳师范学院面向对象程序设计课外实践x=accoutset[m].zhuanzou();则转账时就写成accoutset[m].cunru(x);即可。问题3的解决方法:银行是管理账号的,所以,若使银行能够注销某个账号的所有信息,那么,将这个账号从账号数组里去掉即可,则注销一个账号,账号数组总数就减少1,即count=count-1;若使其账号注销,则可以先从数组中查询到该账户,然后将其账户后面的成员一个一个向前移一位:accoutset[l]=accoutset[l+1];且数组总数减少了1,那么即可认为该账户已被注销了。六、课外实践总结:通过这次课外实践,我们真正体会到自己的能力的不足,当然,这次实践没有少请教老师,在老师的精心指导下,我们更加有信心去战胜困难,并且爱上了编程,感觉C++还是比较容易学的,不过还是要好好学习,除了上课认真听讲外,还应该课下多上机实践,把所学的一点一滴慢慢积累下来,不然到最后什么都没记住,到那时候再后悔自己平时没有好好学习就已经晚了,一般都是书到用时方恨少,所以,平时就该把该记的都会用,到时候编程的时候用的得心应手,不管怎么说,总之,我们都要多学、多问、多总结,争取将C++学精、学通!七、源代码:#includeiostream#includestring#includefstream#includecstdlibusingnamespacestd;classAccount//------------------------------------------------账户类{public:Account()//---------------------------------------Account构造函数{安阳师范学院面向对象程序设计课外实践accountnumber=initnumber;//---------------------账户号码赋值initnumber++;rest_money=0;}~Account()//--------------------------------------Account析构函数{}voidInput();//----------------------------------输入账户信息函数voidPrintf1();//--------------------------------输出账户信息函数voidDelete();//---------------------------------删除账户信息函数voidAdd();//--------------------------------------------增加钱数voidMin();//--------------------------------------------减少钱数floatzhuanzou();//------------------------------------------转走voidcunru(floatx);//---------------------------------------存入stringid;//-------------------------------------------身份证号码floatrest_money;//------------------------------------------余额protected:stringname;//-----------------------------------------------姓名intage;//---------------------------------------------------年龄stringdanwei;//---------------------------------------------单位stringphonenumber;//------------------------------------电话号码stringaddress;//--------------------------------------------地址stringpassword;//-------------------------------------------密码安阳师范学院面向对象程序设计课外实践stringpassword1;//------------------------------------------密码1floatmoney1;//------------------------------------------转的金额longaccountnumber;//------------------------------------账户号码staticintinitnumber;//------------设置静态成员,让账号能自行加加};intAccount::initnumber=622001;voidAccount::Input()//------------------------------输入账户信息函数{inta;system(cls);cout您好!*_*欢迎您来开通银行账户!*.*endl;coutendl;coutendl;cout-----------------------------------------------------endl;cout接下来,请您依次输入您的姓名年龄身份证号码单位电话号码地址密码endl;cinnameageiddanweiphonenumberaddresspassword;cout请再次出入您的密码:;cinpassword1;if(password1==password){安阳师范学院面向对象程序设计课外实践cout您好!*_*您的账户号码是:accountnumberendl;cout恭喜您的存折账户已开通!请您记好您的账户号码和您的密码!!*.**.*endl;cout-----------------------------------------------------endl;}else{cout很抱歉!您与上次输入的密码不一致!请重新开户!endl;a=1;system(pause);}}voidAccount::Printf1(){cout该账号的银行账户信息如下:endl;cout姓名:name年龄:age身份证号码:id单位:danwei电话号码:phonenumber地址:address账户号码:accountnumber余额:rest_moneyendl;}voidAccount::Add()//---------------------------------------增加钱数{longmoney;cout请输入您要存入的钱数:endl;cinmoney;安阳师范学院面向对象程序设计课外实践rest_money=rest_money+money;cout您好!*_*恭喜您,存入成功!endl;}voidAccount::Min()//----------------------------------------减少钱数{longmoney;cout请输入您要取出的钱数:endl;cinmoney;if(rest_money=money){rest_money=rest_money-money;}elsecout您好!*_*很抱歉,您的余额不足!endl;}floatAccount::zhuanzou()//--------------------------------------转走{floatmoney;cout请输入您要转走的钱数:endl;cinmoney;if(rest_mone

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功