版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数学与信息技术学院面向对象课程设计报告简易银行存取款系统设计班 级 08计算机(2) 学 号 08423217 姓 名 指导教师 完成日期:2009年12月1日摘 要随着时代的发展,计算机在各行各业中得到广泛的应用,尤其在工作大,重复劳动的领域中,计算机的自动化管理能力更是得到发挥。该系统涉及的简单银行存取款系统是以c+语言为开发语言,能够解决用银行对客户信息管理等一系列问题,实现客户开设账户、删除账户、存款、取款、明细查询等操作,应用了链表、文件操作等知识,对数据信息进行读取、存入文件。经过测试表明该系统运行稳定且各项功能都能正确运行,基本达到预期的要求。目 录1目的和意义 . 2. 系统设
2、计方案 .2.1 开发环境简介.2.2 总体设计.2.3 功能模块设计.3. 系统实现 .4. 系统测试.5 总结与体会.6 参考文献.1 xx1(小4号黑体)(一)目地和意义(1)熟悉c+语言中的链表操作,掌握建立链表、删除链表中的节点、往链表中插入节点的方法。(2)熟悉c+语言中的文件操作,基本了解怎么把数据存入文件和从文件中读取数据。(3)进一步加深对c+语法的认识,复习和巩固上个学期学的知识。(4)了解了开发一个系统的宏观方法,即把系统分为很多小的模块,分步完成每个小模块,其次再把每个小的模块串联起来组成这个系统,最后在对系统进行调试。(5)设计简单的银行存取系统,能够进行开设账户、删
3、除账户、存款、取款的操作。 (二)系统设计方案2.1开发环境简介 此系统的开发环境是microsoft visual studio,它是微软公司推出的开发环境。是目前最流行的 windows 平台应用程序开发环境。目前已经开发到 9.0 版本,也就是 visual studio 2008。 visual studio 可以用来创建 windows 平台下的 windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 office 插件。2.2 总体设计从硬盘上载入数据到链表中在链表中对文件进行操作把链表中数据存入到硬盘上当涉及到创建账户操作时,建立一个存放客户账户明细的
4、文件当用户删除账户时在删除该客户所在节点的同时,删除该客户对应的账户明细的文件, 2.3 功能模块设计 进入系统修改密码 登录进入操作界面 退出系统开设账户删除账户取款存款账户明细查询客户余额 用户输入客户的姓名等信息,这些信息被存放在节点中,该节点被插入到节点中,并且系统产生一个存放账户明细的文件。删除该账户在链表中的节点,并删除该客户操作明细的在链表中查找出该客户所在节点,再进行取款的操作。在链表中查找出该客户所在节点,再进行存款的操作在链表中查找出该客户所在节点,再从对应的文件中读出该客户近期存取款操作。在链表中查找该客户所在节点,再显示出客户信息。3.系统的实现1.系统登录打开系统后,
5、需要密码,只有正确输入后,才能进入界面,用judge_code()函数判断用户输入的是否正确。在函数体内,从“code.txt”文件中读取密码,再与用户输入的密码比较;两个密码相同,就会进入系统;如果输入错误,会提醒重新输入,一共三次输入机会,如果都错误,就会退出该系统。 2.主界面单显示密码输入正确后,就会显示主界面菜单,供用户选择操作。该菜单中有三个选项,修改进入该系统的密码、进入操作、离开系统。3.修改进入系统的密码在主菜单中选操作1,通过revise()函数修改密码。在函数体内,需要输入旧密码code、新密码code1。再从“code.txt”中读取旧密码code3,当用户确认密码输入
6、code1,只有code与code3相同,code1与code2相同时,才能成功修改密码,修改后的密码重新存入到文件“code.txt”中。4.子菜单显示 在主菜单中选操作2,进入子菜单。该子菜单显示创建客户、删除客户、存款、取款、明细查询和余额查询。 5.创建账户在子菜单中选择操作1,进入创建账户的界面,需要用户输入身份证号码、姓名。如果该用户信息已经存在,系统就会显示该用户已经存在,提醒用户重新输入。创建账户后,账户内的存款额为0。该操作由类bank的成员函数create_account()实现。在该函数中,建立一个类的节点指针p。由随机函数产生一个账户account,密码由客户自己输入。
7、再往该指针里写入客户的信息(账户、密码、存款),再把该节点连接到链表l中。最后,把用在该客户姓名后面添加.txt,即strcat(name,“.txt”);在硬盘上产生一个以该用户姓名命名的文件name.txt,该文件主要用于存该客户对账户操作的明细。6.删除账户 在子菜单中选择操作2,进入界面,用户需要输入删除的账号,如果该账户存在,客户输入密码后,密码正确后,就会删除成功。否则,就会提示账户不存在。该操作由类bank的成员函数delete_account()实现。根据输入账号从链表l中按顺序方法寻找删除的节点,代码如下: p=l-next; while(p!=null)&(strcmp(p
8、-account,account1)!=0) q=p; p=p-next; 找到后,把该节点从链表中删除。如果不存在,系统显示不存在该节点。删除节点时,首先判断删除的是不是第一个节点,如果是,则 r=p; l-next=p-next; delete r;否则 r=p; q-next=p-next; delete r; 在代码中,会有 char name125; strcpy(name1,r-name); strcat(name1,.txt); remove(name1); 在这段代码中,把要删除的节点对应的名字复制给name1,在name1后加上.txt;在把该文件删除。该文件主要是存放该客户
9、近期内存取款操作。 7.存款 在子菜单中选择操作4,进入存款界面。首先要输入客户账户号码,客户输入密码,密码正确后,就会进入存款的界面。如果账户、密码输错或是客户的信息不存在,系统就会提示错误。该操作是由类bank的成员函数deposit_money()实现。根据用户输入的身份证号码从链表l中按顺序的方法寻找客户信息所在的节点,代码如下: p=l-next; while(p!=null)&(strcmp(p-account,account1)!=0) p=p-next; 找到后,往该客户账户中存款,即p-deposit+=money,p为指向类bank的指针变量。最后,把存款信息存入以该用命名
10、的文件中。即: char time125; strcpy(time1,get_time(); char name125; strcpy(name1,p-name); strcat(name1,.txt); ofstream out(name1,ios:app); outsetw(30)time1setw(10)deposit-=money,p为指向类bank的指针变量(代码与取存款的相似)。9.查询账户明细 账户明细是该系统的重要部分,用户可以知道账户内情况。选择子菜单操作6,进入该界面,该操作是由类bank的成员函数detail()实现,在它中,根据用户输入客户号码,从链表l中按顺序的方法寻
11、找客户信息所在的节点。 p=l-next; while(strcmp(account1,p-account)!=0)&(p!=null) p=p-next; 找到该客户所对应的文件, strcpy(name1,p-name); strcat(name1,.txt); fstream in; in.open(name1,ios:in);从该文件中读入数据while(true) insetw(30)time1setw(10)x;if(in.eof() break; 因为我写入数据时,钟点时间和日期是连在一起的,所以输出时,要在钟点和日期间加空格 for(int m=17;m7;m-) time1m
12、+2=time1m; time18= ; time19= ; time120=0; coutsetw(25)time1setw(10)xaccount,account1)!=0) p=p-next; 输出该用户的信息 coutsetw(-20)namesetw(15) accountsetw(10)depositendl; coutsetw(-20)namesetw(25)accountsetw(8)depositendl;4.系统测试1.系统登录 输入进入系统密码,会有三次重新输入机会,如果都输错,就会退出系统。密码输入正确后,就会进入主菜单界面2.修改登录密码选操作1,进入修改密码界面,需
13、要输入旧密码,新密码,和确认新密码。如果出错就会显示3.子菜单显示在主菜单选择操作2(log on),进入子菜单 4.创立账户在子菜单中选择操作1,创立账户 其中账户是系统随机分配,密码由客户输入。成功创建完后,系统会提示是否继续操作,选y是进入子菜单。选n则显示 5.删除账户在子菜单中选择操作2,删除账户。输入删除的账户 确认删除,就会删除该账户,否则返回子菜单。6.取款 在子菜单中选择操作3,取款。首先需要输入客户的密码和账号,账号有银行职员输入,密码由客户输入。输入正确后,会显示存入20000,按回车,就会显示成功存入。如果密码输错,就会显示密码错误,请重新输入,总共有三次机会,都错话,
14、就会退出系统。7.取款在子菜单中选择操作4,取款。首先需要输入客户的密码和账号,账号有银行职员输入,密码由客户输入。输入正确后,会显示如果钱数不够,就会显示如果密码输错,就会显示密码错误,请重新输入,总共有三次机会,都错话,就会退出系统。 8.账户明细在子菜单中选择操作5,查账户明细输入账户后,就会显示 9.查询余额在子菜单中选择操作6,查询账户余额输入客户的账户后5.总结和体会需要说明的是,该系统面向的对象是银行职员,而不像取款机内的系统那样面向的对象是用银行卡存取款的用户。该系统大体实现简单银行存取款的功能。该系统主要涉及了c+中文件打开、关闭,从文件中读取数据、把数据存入硬盘上的文件中,
15、还有链表创建、删除节点、添加节点等操作。较以前编的程序,该系统输出界面更美观,设置了输出界面的背景颜色和字体颜色,还使用了清屏(system(“cls”)),让用户操作变得更加容易。做完系统后,我掌握链表中节点的插入、删除操作和以文本方式往文件中写入数据和从文件中读取数据。除此之外,我还对类有的深入的了解,虽然没有用到类的继承,但是这部分知识我顺便复习了一遍,更重要的是,我学会了在编的程序出现问题时解决问题的能力。做完该系统后,我更加明白的合作的力量。刚开始,我便写出了改系统的大部分函数,思路与现在的思路也不一样。与别人讨论时,我了解eof()正确用法,原来从文件中读出乱码的问题也解决了,并且,我学会了用sleep()函数,这使得菜单操作中更加便利和美观。这个系统我总共修改了二次。第一次,原系统只有一个菜单,菜单中有9个选项操作。于是我把关于账户操作单独做成一个子菜单,主菜单改成三个操作选项,修改登录密码、进入账户操作、退出系统。这样用户操作起来条理就比较清楚。第二次,我几乎把整个系统都改动了,把类bank中的私有成员变量n,time520去掉,把身份证号改成账户号。因为在原系统中,要查询账户明细时,要把银行客户所有存取款操作的情况读取到链表的节点中,这还只是一个用户。如果用户很多,且每个用户存取款操作的次数很多,将会占用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度公务用车车辆保险理赔服务合同3篇
- 2024年度太阳能热水系统采购合同3篇
- 急救车药品物品管理
- 2024年地铁隧道工程建设劳务分包及架子工合同
- 2024年度技术研发与资金支付合同3篇
- 2024年度石料加工与破碎合同合同样例版
- 2024公寓房买卖合同协议书范本
- 2024年度厂房租赁押金退还合同3篇
- 2024年度企业知识产权保护与运用合同3篇
- 2024年度水轮发电机组安装维修合同3篇
- 【MOOC】模拟电子技术基础-华中科技大学 中国大学慕课MOOC答案
- 区域医学检测中心的建设与管理V3
- 广东省实验中学2024-2025学年高二上学期期中考试数学试题
- 医院感染预防与控制答案
- 光影中国学习通超星期末考试答案章节答案2024年
- 幼儿园故事绘本《卖火柴的小女孩儿》课件
- SL721-2015水利水电工程施工安全管理导则
- 计算机毕业设计java微信小程序的英语学习激励系统ssm前端vue论文
- 部编版六年级上册道德与法治第7课 权力受到制约和监督课件
- 静电喷涂工艺参数
- SmartBits测试使用指南
评论
0/150
提交评论