您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > c++银行账户管理课程设计
C++银行账户管理课程设计报告学院:计算机工程学院班级:09级计算机科学与技术1班学生姓名:学号:2009404010125设计地点(单位):A5-101设计题目:银行账户管理程序完成日期:2011年12月25日指导教师评语:____________________________________________________________________________________________________________________________________________________________成绩(五级记分制):________________教师签名:__________________JINGCHUUNIVERSITYOFTECHNOLOGY2目录一、设计思想……………………………………………………03二、模块设计与分析……………………………………………03三、程序设计介绍………………………………………………04四、框架结构图…………………………………………………04五、程序代码……………………………………………………05六、测试数据……………………………………………………14七、数据调试……………………………………………………14八、课程设计总结………………………………………………16九、课程设计教材及主要参考资料……………………………163一、设计思想定义一个用户类customer和一个银行类YH,程序运行时,可以由用户选择进行开户、登录、取款、存款、修改密码、转账、销户操作,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。二、模块设计与分析1.登录页面:输入帐号和密码,根据用户输入的帐号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。若帐号存在和密码不匹配或无该帐号已经注销,提示该帐号已存在或已注销。2.主界面页面:主要导航栏有存款、取款、账户信息、注销、注销、返回上一步。3.开户页面:提供开户界面,由用户输入新账户的信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。4.存钱页面:从登录界面得到帐号,并提供数据输入界面,等待用户的输入存款金额,同时将存钱的金额显示在页面上。5.取款页面:从登录界面得到帐号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上。6.账户信息页面:从登录界面得到帐号,把本人显示到界面中。7.转账页面:从登录界面得到帐号,输入要转入的帐号,在输入金额,显示在页面上,如果金额超过余额将操作失败。8.注销页面:从关闭文件,状态为注销,最后关闭整个系统。4三、程序设计介绍系统由2个类构成,YH(银行类)和Consumer(客户类),Consumer(客户类)是YH(银行类)的公有继承类。YH(银行类)中有实现登陆系统,开户,销户,转账,退出系统等功能函数,Consumer(客户类)中有实现存钱,取钱,修改个人账号密码,显示个人账号信息等功能函数。因为Consumer(客户类)是YH(银行类)的公有继承类,所以,一个用户只需创建一个Consumer(客户类)对象,当用户进行开户,销户等操作时,可以直接调用YH(银行类)的成员函数。银行类中的函数:voidset_account();//银行开户功能voiddel_account();//注销账户功能voidtransfer(int);//转账功能voidenter_account();//进入用户个人信息功能voidaddmoney(int,float);//存款功能voidexitYH();//退出系统四、框架结构图银行管理系统存钱页面取款页面转账页面页面修改密码查看信息登录界面注册开户主界页面注销退出5五、程序代码#includeiostream#includestring#includefstreamusingnamespacestd;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:6intID;//开户帐号stringpasswd;//用户密码stringname;//用户姓名floatmoney;//开户金额};voidYH::save(){ofstreamofile(bankdat.dat,ios::out);ofstreamoutfile(bankdat.dat,ios::out);intn=0;outfileacnum;for(n=0;nacnum;n++){outfileaccount[n]-ID;outfileaccount[n]-money;outfileaccount[n]-name;outfileaccount[n]-passwd;}outfile.close();}/*读入用户信息功能实现*/voidYH::load(){ifstreaminfile(bankdat.dat,ios::in);if(!infile){cerr读取错误,无资料中!endl;return;}intn=0;intid,m;stringnam,passw;infileacnum;for(n=0;nacnum;n++){infileid;infilem;infilenam;infilepassw;account[n]-passwd;consumer*acc=newconsumer(id,nam,passw,m);account[n]=acc;}infile.close();cout读取资料正常!endl;}7/*转账功能实现*/voidYH::transfer(intx){intid;cout请输入帐号:;cinid;intflag=1;inti=0;while((iacnum)&&(flag)){if(id==account[i]-get_id())flag=0;elsei++;}if(flag){cout帐号不存在!endlendl;return;}floatb;coutendl请输入你要转帐的金额:;cinb;while(b=0){cout请输入正确的数字!endl;cout→;cinb;}if(account[x]-get_money()b)cout对不起,金额不够!!endl;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;}8voidmain(){YHyh;yh.functionshow();}/*主界面显示*/voidYH::functionshow(){intn;do{system(cls);load();coutendl请输入相应的操作序号进行操作:endl;cout㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣endl;cout㊣㊣endl;cout㊣1.开户㊣endl;cout㊣㊣endl;cout㊣2.账户登录㊣endl;cout㊣㊣endl;cout㊣3.账户注销㊣endl;cout㊣㊣endl;cout㊣4.退出系统㊣endl;cout㊣㊣endl;cout㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣endl;cout→;cinn;while(n1||n4){cout操作错误,请输入正确的操作序号!endl;cout→;cinn;}switch(n){case1:set_account();//开户break;case2:enter_account();//登录break;case3:del_account();//注销break;case4:exitYH();//退出break;}cin.get();}9while(true);}voidYH::enter_account(){intid;cout请输入帐号:;cinid;intflag=1;inti=0;//__page_break__while((iacnum)&&(flag)){if(id==account[i]-get_id())flag=0;elsei++;}if(flag){cout帐号不存在!endlendl;return;}cout请输入密码:;stringpassw;cinpassw;if(passw!=account[i]-get_passwd())return;account[i]-display();cin.get();cin.get();intn;do{system(cls);cout请选择下列操作:endl;cout◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎endl;cout◎◎endl;cout◎1.查看账户信息◎endl;cout◎◎endl;cout◎2.取款◎endl;cout◎◎endl;cout◎3.存款◎endl;cout◎◎endl;cout◎4.修改密码◎endl;cout◎◎endl;cout◎5.转账◎endl;cout◎◎endl;cout◎6.返回上一菜单◎endl;cout◎◎endl;cout◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎endl;cout→;cinn;10switch
本文标题:c++银行账户管理课程设计
链接地址:https://www.777doc.com/doc-221525 .html