银行储蓄标准管理系统实验报告_第1页
银行储蓄标准管理系统实验报告_第2页
银行储蓄标准管理系统实验报告_第3页
银行储蓄标准管理系统实验报告_第4页
银行储蓄标准管理系统实验报告_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实训汇报实训汇报题目:银行储蓄管理系统院系:专业:姓名:学号:指导老师:日期:1月7日目录一、课设目标………………….……………..3二、需求分析…………………3三、程序关键功效…………3四、系统总体框架……………3五、模块设计和分析…………4六、类设计和分析…………5七、存在不足和处理方法………………….7八、功效测试………………….7九、源代码…………………13十、课设总结………………23一、课设目标课程设计目标是总结及利用一学期来所学知识,训练我们灵活应用所学C++知识,独立完成问题分析、总结设计、具体设计和编程实现等软件开发全过程综合实践能力。巩固、深化理论知识,提升编程水平,并在此过程中培养我们严谨科学态度和良好工作作风。二、需求分析:伴随社会经济发展,信息化程度不停深入,银行传统业务已不能满足用户需求。现今,大家科技意识已经有了很大提升,在担心忙碌生活中已越来不习惯天天奔波于银行营业柜台去办理多种业务,利用电子化手段构建一个高效统一、通用灵活系统来管理多种多样业务,是目前每个商业银行全部要研究课题。所以怎样应用计算机技术加强银行账户管理是目前迫切需要处理一个问题。所以此次课程设计是模拟银行账户管理,开发一个银行个人账户管理系统。设计思想是一切为使用者着想,操作尽可能简单明了,努力做到每一个用户全部能够使用这个系统来办理自己业务。而且经过该银行账户管理系统地运行,能够使办公人员轻松快捷完成对账户管理任务,提升招募管理效率,是银行账目管理工作系统化、规范化、自动化。三、程序关键功效:关键用于银行储蓄卡管理系统,它能够帮组我们有效、正确、而且高效实现完成存取事件。系统操作方便效率、安全性高、只要开户并设定好密码就能够轻松实现存取款。系统实现关键有储蓄卡开户管理、存取款管理、用户查询历史数据显示、注销等功效。储蓄卡开户管理模块:卡号、姓名、开户金额、身份证号、地址、电话、密码、确定密码和保留组成。(开户金额必需是数字,密码和确定密码必需一样是六位数字)银行管理系统存钱页面银行管理系统存钱页面取款页面余额页面修改密码注销页面登录界面注册开户主界页面注销退出系统总体框架:五、模块设计和分析:储蓄卡开户管理模块登录页面:输入卡号和密码,依据用户输入卡号和密码,到后台文件查询,若正确则登录成功,并保留卡好信息已备后用。若卡号存在和密码不匹配或无该卡号已经注销,提醒该卡号已存在或已注销,保持界面三次不变等候用户重新输入。主界面页面:关键导航栏有[欢迎使用储蓄卡管理(存款、取款、修改密码、转账功效、注销退出)]储蓄卡开户页面:提供开户界面,由用户输入新储蓄卡全部信息,将该信息保留到文件中,并将开户金额作为该卡第一次存款统计存人文件。存钱页面:从登录界面得到卡号,并提供数据输入界面,等候用户输入存款金额。从后台数据库中找到该用户余额统计,修改余额,并将该存款事件对应信息写人数据库,同时将存钱金额显示在页面上。取款页面:从登录界面得到卡号,并提供数据输入界面,等候用户输入取款金额,假如取款金额大于该用户卡上余额则不能取款,或将新余额写人文件,并将此次取款事件写入文件同时将取钱金额显示在页面上,。注销页面:从关闭文件,状态为注销,最终关闭整个系统。列举取款模块进行分析:voidconsumer::fetchmoney(){floatm;charch;do{cout<<endl<<"输入取款金额:"<<"¥>"<<endl;cin>>m;while(m<=0){cout<<"请输入正确数字!"<<endl;cout<<"→";cin>>m;}if(money<m){cout<<"对不起,你余额不足!"<<endl;}else{money=money-m;cout<<endl<<"操作成功,请收好钱!"<<endl;}cout<<"是否要继续该项操作:(Y/N)"<<endl;cout<<"→";cin>>ch;while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')//选择错误时判定{cout<<"→";cin>>ch;}}while(ch=='y'||ch=='Y');}在取款页面中,输入取款金额并对取款金额和存款余额进行比较,假如取款金额小于零,请输入正确数字;假如取款金额大于存款金额,对不起,您余额不足;假如取款金额小于存款余额话就实施,并保留统计。类设计和分析1.comsumer类classcomsumer关键制订用户组员数据,并进行登录和保留功效:相关代码:classconsumer:publicYH//用户类,继承银行类属性{public:friendclassYH;consumer(intid,stringName,intNumber,doubleIN,stringCompany,stringAddress,stringPassWord,floatm){ID=id;name=Name;number=Number;in=IN;company=Company;address=Address;money=m;passwd=PassWord;}consumer(){ID=0;name='0';number=0;in=0;company='0';address='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;//开户金额 intnumber;stringcompany;stringaddress;doublein;};名称属性说明ID数据组员用户账户数据name数据组员用户姓名money数据组员用户首次金额in数据组员用户身份证号address数据组员用户地址number数据组员用户电话Passwd数据组员用户密码savemoney()组员方法存钱fetchmoney()组员方法取钱change_passwd()组员方法修改密码get_money()组员方法卡卡转账comsumer类说明表2.YH类YH类关键实现用户多种功效:classYH//银行类{public:voidset_account();//银行开户功效voiddel_account();//注销账户功效voidtransfer(int);//转账功效voidenter_account();//进入用户个人信息功效voidaddmoney(int,float);//存款功效voidexitYH();//退出系统voidfunctionshow();voidsave();voidload();//功效界面protected:consumer*account[20];staticintacnum;//账户数};名称属性说明acnum数据组员账户数set_account()组员方法开户功效del_account()组员方法注销账户功效transfer()组员方法转账功效functionshow()组员方法主界面显示功效addmoney()组员方法存钱功效exitYH()组员方法退出系统功效YH类说明表存在不足和处理方法在这设计过程里,我们碰到了大大小小各个问题,比如:(1)问题:计划设计做不够好,没有把类和类数据组员、组员函数给搞清楚,就急着下手编程,结果把程序搞乱七八糟。处理:重新认真细心计划设计好所需要类,搞清楚各个类作用,在进行编程。(2)问题:因为不够细心,程序总是出些较低级错误,比如漏写分号,忘括号等。处理:做任何事,全部需认真细心,注意好每一步骤(3)问题:当我们程序框架基础搭好,准备填写内容时,却迟迟未能下手,不知道从何写起。处理:重温书本,请教同学和老师。这才知道自己不足之处,以后定要好好学习,要有坚持不懈和锲而不舍精神。功效测试(1)首页:(2)储蓄卡开户页面(3)主界面页面关键导航栏有:欢迎使用储蓄卡管理(查看帐户信息、存款、取款、修改密码、转账、返回上一菜单)(4)存钱页面(5)取款页面从登录界面得到卡号,并提供数据输入界面,等候用户输入取款金额,假如取款金额大于该用户卡上余额则不能取款,或将新余额写人文件,并将此次取款事件写入文件同时将取钱金额显示在页面上。当输入取款金额大于现有金额当输入取款金额小于或等于现有金额:(6)修改密码页面当两次输入密码相同时:当两次输入密码不一样时:(7)销户页面退出系统页面源代码:#include<iostream>#include<string>#include<fstream>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,intNumber,doubleIN,stringCompany,stringAddress,stringPassWord,floatm){ID=id;name=Name;number=Number;in=IN;company=Company;address=Address;money=m;passwd=PassWord;}consumer(){ID=0;name='0';number=0;in=0;company='0';address='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;//开户金额 intnumber;stringcompany;stringaddress;doublein;};voidYH::save(){ofstreamofile("bankdat.dat",ios::out);//以输出方法打开文件ofstreamoutfile("bankdat.dat",ios::out);//以输出方法打开文件bankdat.dat接收从内存输出数据intn=0;outfile<<acnum<<"";for(n=0;n<acnum;n++){outfile<<account[n]->ID<<"";//把信息写入磁盘文件bankdat.datoutfile<<account[n]->money<<"";outfile<<account[n]->name<<"";outfile<<account[n]->passwd<<"";outfile<<account[n]->number<<"";outfile<<account[n]->company<<"";outfile<<account[n]->address<<"";outfile<<account[n]->in<<"";}outfile.close();}/*读入用户信息功效实现*/voidYH::load(){ifstreaminfile("bankdat.dat",ios::in);//以输入方法打开文件if(!infile){cerr<<"读取错误,无资料中!"<<endl;return;}intn=0;intid,m;stringnam,passw;intnumber;stringcompany;stringaddress;doublein;infile>>acnum;for(n=0;n<acnum;n++)//全部读入{infile>>id;//从磁盘文件bankdat.dat读入信息infile>>m;infile>>nam;infile>>passw;infile>>company;infile>>number;infile>>address;infile>>in;account[n]->passwd;consumer*acc=newconsumer(id,nam,number,in,company,address,passw,m);//每读入一个n开辟一段内存account[n]=acc;//赋值首地址}infile.close();cout<<"读取资料正常!"<<endl;}/*转账功效实现*/voidYH::transfer(intx){intid;cout<<"请输入帐号:";cin>>id;intflag=1;inti=0;while((i<acnum)&&(flag))//查找要转入账号{if(id==account[i]->get_id())flag=0;elsei++;}if(flag){cout<<"帐号不存在!"<<endl<<endl;return;}floatb;cout<<endl<<"请输入你要转帐金额:";cin>>b;while(b<=0){cout<<"请输入正确数字!"<<endl;cout<<"→";cin>>b;}if(account[x]->get_money()<b)//调用友元类consumer公有组员函数 cout<<"对不起,金额不够!!"<<endl;else{account[x]->dec_money(b);account[i]->add_money(b);}cout<<"转账成功!!"<<endl;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<<endl<<"请输入对应操作序号进行操作:"<<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<<"→";cin>>n;while(n<1||n>4){cout<<"操作错误,请输入正确操作序号!"<<endl;cout<<"→";cin>>n;}switch(n){case1:set_account();//开户break;case2:enter_account();//登录 break;case3:del_account();//注销break;case4:exitYH();//退出break;}cin.get();//输入流类istream组员函数}while(true);}voidYH::enter_account(){intid;cout<<"请输入帐号:";cin>>id;intflag=1;inti=0;//__page_break__while((i<acnum)&&(flag))//循环查找{if(id==account[i]->get_id())flag=0;elsei++;}if(flag){cout<<"帐号不存在!"<<endl;return;}cout<<"请输入密码:";stringpassw;cin>>passw;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<<"→";cin>>n;switch(n){case1:account[i]->display();break;case2:account[i]->fetchmoney();save();break;//从2-5功效,每实施一次调用一次save函数,重新写入数据case3:account[i]->savemoney();save();break;case4:account[i]->change_passwd();save();break;case5:transfer(i);save();break;case6:return;}cin.get();cin.get();}while(1);}voidYH::set_account(){intid;stringnam;stringpassw;floatm; stringcompany;stringaddress;intnumber;doublein;cout<<"请输入开户号:"<<endl;cin>>id;cout<<"请输入开户人姓名:"<<endl;cin>>nam;cout<<"请输入开户密码:"<<endl;cin>>passw;cout<<"请输入存入金额:"<<endl;cin>>m; cout<<"请输入开户人电话:"<<endl;cin>>number;cout<<"请输入开户人企业:"<<endl;cin>>company;cout<<"请输入开户人地址:"<<endl;cin>>address;cout<<"请输入开户人身份证号码:"<<endl;cin>>in;while(m<=0){cout<<"请输入正确数字!"<<endl;cin>>m;}consumer*acc=newconsumer(id,nam,number,in,company,address,passw,m);account[acnum]=acc;cout<<"开户成功!!"<<endl<<endl;acnum++;save();cin.get();return;}voidYH::del_account(){intid;cout<<endl<<"请输入你要注销帐户号:";cin>>id;intflag=1;inti=0;while((i<acnum)&&(flag))//循环查找{if(id==account[i]->get_id()){flag=0;}else{i++;}}if(flag){cout<<"该帐号不存在,请重新输入!"<<endl;return;//返回到登陆界面}for(intj=i;j<acnum;j++)//全部被删号后数据重新存放{account[j]=account[j+1];}account[acnum-1]=NULL;acnum--;//账号总数自减一次cout<<"你账号已注销!!"<<endl<<endl;save();cin.get();return;}voidconsumer::change_passwd(){stringpwd,repwd;cout<<"请输入新密码:";cin>>pwd;cout<<"请再输入一次新密码:";cin>>repwd;if(pwd!=repwd)cout<<"你输入两次密码不一样,按输入键返回上一层菜单!"<<endl;elsecout<<"密码修改成功,请切记!"<<endl;cin.get();}voidconsumer::fetchmoney(){floatm;charch;do{cout<<endl<<"输入取款金额:"<<"¥>"<<endl;cin>>m;while(m<=0){cout<<"请输入正确数字!"<<endl;cout<<"→";cin>>m;}if(money<m){cout<<"对不起,你余额不足!"<<endl;}else{money=money-m;cout<<endl<<"操作成功,请收好

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论