银行储蓄管理系统实验报告.docx
- 文档编号:18329457
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:19
- 大小:406.54KB
银行储蓄管理系统实验报告.docx
《银行储蓄管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《银行储蓄管理系统实验报告.docx(19页珍藏版)》请在冰点文库上搜索。
银行储蓄管理系统实验报告
实训报告
题目:
银行储蓄管理系统
院系:
专业:
姓名:
学号:
指导教师:
日期:
2016年1月7日
一、课设目的………………………………….……………..3
二、需求分析…………………………………………………3
三、程序的主要功能…………………………………………3
四、系统总体框架……………………………………………3
五、模块设计与分析…………………………………………4
六、类的设计与分析…………………………………………5
七、存在的不足与解决方法………………………………….7
八、功能测试………………………………………………….7
九、源代码…………………………………………………13
十、课设总结………………………………………………23
一、课设目的
课程设计的目的是总结及运用一学期来所学的知识,训练我们灵活应用所学C++知识,独立完成问题分析、总结设计、详细设计和编程实现等软件开发全过程的综合实践能力。
巩固、深化理论知识,提高编程水平,并在此过程中培养我们严谨的科学态度和良好的工作作风。
二、需求分析:
随着社会经济的发展,信息化程度的不断深入,银行的传统业务已不能满足客户的需求。
现今,人们的科技意识已经有了很大的提高,在紧张忙碌的生活中已越来不习惯每天奔波于银行营业柜台去办理各种业务,利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是当前每个商业银行都要研究的课题。
因此如何应用计算机技术加强银行账户管理是当前迫切需要解决的一个问题。
所以本次课程设计是模拟银行账户的管理,开发一个银行个人账户管理系统。
设计思想是一切为使用者着想,操作尽量简单明了,努力做到每一个用户都可以使用这个系统来办理自己的业务。
并且通过该银行账户管理系统地运行,可以使办公人员轻松快捷的完成对账户管理的任务,提高招募管理效率,是银行的账目管理工作系统化、规范化、自动化。
三、程序的主要功能:
主要用于银行的储蓄卡管理系统,它可以帮组我们有效、准确、并且高效实现的完成存取事件。
系统操作方便效率、安全性高、只要开户并设定好密码就可以轻松的实现存取款。
系统实现的主要有储蓄卡开户管理、存取款管理、用户查询历史数据显示、注销等功能。
储蓄卡开户管理模块:
卡号、姓名、开户金额、身份证号、地址、电话、密码、确认密码和保存组成。
(开户金额必须是数字,密码和确认密码必须一样是六位数字)
注销模块:
一旦注销卡号就不存在且余额提醒你取出。
四、系统总体框架:
五、模块设计与分析:
储蓄卡开户管理模块
登录页面:
输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。
若卡号存在和密码不匹配或无该卡号已经注销,提示该卡号已存在或已注销,保持界面三次不变等待用户的重新输入。
主界面页面:
主要导航栏有[欢迎使用储蓄卡管理(存款、取款、修改密码、转账功能、注销退出)]
储蓄卡开户页面:
提供开户界面,由用户输入新储蓄卡的所有信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。
存钱页面:
从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。
从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库,同时将存钱的金额显示在页面上。
取款页面:
从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上,。
注销页面:
从关闭文件,状态为注销,最后关闭整个系统。
列举取款模块进行分析:
voidconsumer:
:
fetchmoney()
{
floatm;
charch;
do
{
cout< "<<"¥>"< cin>>m; while(m<=0) { cout<<"请输入正确的数字! "< cout<<"→"; cin>>m; } if(money { cout<<"对不起,你的余额不足! "< } else {money=money-m; cout< " < } cout<<"是否要继续该项操作: (Y/N)" < cout<<"→"; cin>>ch; while(ch! ='n'&&ch! ='N'&&ch! ='Y'&&ch! ='y') 开户㊣"< cout<<"㊣㊣"< cout<<"㊣2.账户登录㊣"< cout<<"㊣㊣"< cout<<"㊣3.账户注销㊣"< cout<<"㊣㊣"< cout<<"㊣4.退出系统㊣"< cout<<"㊣㊣"< cout<<"㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣"< cout<<"→"; cin>>n; while(n<1||n>4) { cout<<"操作错误,请输入正确的操作序号! "< cout<<"→"; cin>>n; } switch(n) { case1: set_account();看账户信息◎"< cout<<"◎◎"< cout<<"◎2.取款◎"< cout<<"◎◎"< cout<<"◎3.存款◎"< cout<<"◎◎"< cout<<"◎4.修改密码◎"< cout<<"◎◎"< cout<<"◎5.转账◎"< cout<<"◎◎"< cout<<"◎6.返回上一菜单◎"< cout<<"◎◎"< cout<<"◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎"< 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; }();(); } while (1); } voidYH: : set_account() { intid; stringnam; stringpassw; floatm; stringcompany;stringaddress;intnumber;doublein; cout<<"请输入开户号: "< cin>>id; cout<<"请输入开户人姓名: "< cin>>nam; cout<<"请输入开户密码: "< cin>>passw; cout<<"请输入存入金额: "< cin>>m; cout<<"请输入开户人电话: "< cin>>number; cout<<"请输入开户人公司: "< cin>>company; cout<<"请输入开户人地址: "< cin>>address; cout<<"请输入开户人身份证号码: "< cin>>in; while(m<=0) { cout<<"请输入正确的数字! "< cin>>m; } consumer*acc=newconsumer(id,nam,number,in,company,address,passw,m); account[acnum]=acc; cout<<"开户成功! ! "< acnum++; save(); (); return; } voidYH: : del_account() { intid; cout< "; cin>>id; intflag=1; inti=0; while((i { if(id==account[i]->get_id()) { flag=0; } else { i++; } } if(flag) { cout<<"该帐号不存在,请重新输入! "< return;//返回到登陆界面 } for(intj=i;j { account[j]=account[j+1]; } account[acnum-1]=NULL; acnum--;//账号总数自减一次 cout<<"你的账号已注销! ! "< save(); (); return; } voidconsumer: : change_passwd() { stringpwd,repwd; cout<<"请输入新密码: "; cin>>pwd; cout<<"请再输入一次新密码: "; cin>>repwd; if(pwd! =repwd) cout<<"你输入的两次密码不一样,按输入键返回上一层菜单! "< else cout<<"密码修改成功,请牢记! "< } voidconsumer: : fetchmoney() { floatm; charch; do { cout< "<<"¥>"< cin>>m; while(m<=0) { cout<<"请输入正确的数字! "< cout<<"→"; cin>>m; } if(money { cout<<"对不起,你的余额不足! "< } else {money=money-m; cout< " < } cout<<"是否要继续该项操作: (Y/N)" < cout<<"→"; cin>>ch; while(ch! ='n'&&ch! ='N'&&ch! ='Y'&&ch! ='y')//选择错误时判定 { cout<<"→"; cin>>ch; } }while(ch=='y'||ch=='Y'); } voidconsumer: : savemoney()//存钱函数功能实现 { floatc; charch; do { cout< "<<"¥>"< cin>>c; while(c<=0) { cout<<"输入错误,请重新输入! "< cout<<"→"; cin>>c; } money=money+c; cout<<"操作已成功! "< cout<<"是否要继续该项操作: (Y/N)"< cout<<"→"; cin>>ch; while(ch! ='n'&&ch! ='N'&&ch! ='Y'&&ch! ='y') { cout<<"→"; cin>>ch; } }while(ch=='y'||ch=='Y'); } intYH: : acnum=0; voidconsumer: : display()//用户信息界面 {system("cls"); cout<<"#####################################"< cout<<"#"< cout<<"# 用户姓名: "< cout<<"#"< cout<<"# 帐号: "< cout<<"#"< cout<<"# 余额: "< cout<<"#"< cout<<"#按输入键回到上一菜单"< cout<<"#"< cout<<"#####################################"< cout<<"→"; } voidYH: : exitYH()//退出系统 { cout< "< exit(0); } 十、总结 通过这次C++课程设计实训,让我们学到面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解。 通过这次,能够提高自己的分析题与解决问题的能力,从而运用所学知识解决实际问题的能力,并培养基本的程序设计能力。 这次的课程设计,让我们能够自己去练习我们的编程,特别是自己的动手能力。 经过了这次的实训,让我们找到自己学习上的不足,以前在课上没有弄的知识,都在这次实训上有所提高,虽然还是不太懂。 在这次设计中遇到了很多问题。 例如,在定义类调用方面。 在老师与同学的帮助下,我们一点一点的解决。 总体上来说,这次实训将上学期所学的重要知识点进行了一次系统性的巩固和复习,获益匪浅! 是我们懂得一切问题必须要靠自己一点一滴的解决,在解决的过程当中你会发现自己在飞速的提升。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 储蓄 管理 系统 实验 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)