数据结构课程设计之银行储蓄管理.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
##大学 数据结构课程设计报告 题目: 活期储蓄账目管理 院(系): 计算机工程学院 学生姓名 : 班级: 学号 : 起迄日期 : 2011.06.20-2011.06.27 指导教师 : 指导教师评语: 成绩: 签名: 2010— 2011年度 第 2 学期 一、需求分析 1.问题描述: 活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要 求: 1) 能比较迅速地找到储户的账户,以实现存款、取款记账; 2) 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。 我做的系统包括以下模块: 开户模块 :要求能新建账户并且能够进一步对所建立的账户进行查询等操 作。 查询模块 :能够通过账号查找,迅速的找到要查找的账户,并显示账户余额。 存取钱模块 :在迅速地查找到目的账户后,对账户余额进行修改。 销户模块 :查找到目的账户,对其销户。 2.基本功能 该系统具有以下四个部分的功能: 开户功能 :能够新建账户,并对其进行存储以备查询。 查询功能 :能够通过账号查找, 迅速的找到要查找的账户, 并显示账户余额。 存取钱功能 :在迅速地查找到目的账户后,对账户进行存钱取钱操作。 销户功能 :查找到目的账户,对其销户。 3.输入输出 账号值大小为 long,密码、存款数额值的范围为 int大小,姓名为字符串。 假定账号是从 50000开始,否则输出提示错误并返回主菜单; 主菜单,输入从 1-到5,依次实现开户、查询、存取钱、销户和退出功能,按其他数字键位返回主菜单。 开户的时候,账号是自动分配的,从 50000开始,依次增加我这里暂定账户数上限为 2000,然后需要输入用户姓名, 再然后是账号密码和存储金额; 对于用户姓名,是字符串类型,而账号和密码必须输入数字,开户金额 10元起存,小于10元慧提示并允许重新输入开户金额。 查询的时候,首先需要输入要查询的账号,如果输入的账号小于默认起始账 号,那么提示输入错误并返回主菜单; 如果输入了大于默认账户的账号, 那么密码核实不会通过,加入输入的密码错误,则会提示并返回主菜单。 存取钱,首先符合查询的输入要求,账号密码都正确时提示存款还是取款,此时要求存款输入 s,取款输入 t,否则提示错误并返回主菜单,然后输入存入或取出的金额, 存款提示成功, 取款如果账户余额不足, 则会提示余额不足并返回主菜单。 销户的时候,也是需要首先满足查找的输入要求,然后提示确定销户吗, s 是确定, c是取消,输入其他的就相当于输入了字符 c,提示销户不成功并返回。 二、 概要设计 设计思路: 每个账户是一个基本单位,可以看作是一个对象每个储蓄账户由账号、户主名、密码和余额组成 能进行查找,能快速查找到所需要的账号,我选用的是哈希表。 查找到所需要的账号之后还能够进一步进行存取款操作,销户操作。 数据结构设计: 我采用的是哈希表,若结构中存在关键字和 K 相等的记录,则必定在 f(K) 的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系 f为散列函数 (Hash function),按这个思想建立的表为散列表。 逻辑结构:线性结构。 存储结构:顺序结构。 采取这种存储结构和逻辑结构的原因:银行账号是按照顺序排列下来的,采取这种结构,便于增加账号和删除帐户,最主要的是便于查找,查找效率最高,而且不会有存储冲突。 其存储结构如下(哈希函数: p=Num-50000): 对 0 1 2 3 4 5 6 ?? 2000 象 账 50000 50001 50002 50003 50004 50005 50006 ??号 抽象数据类型线性表的定义如下: ADT List { 数据对象: D={A_Name// 用于存储帐户姓名 A_Num// 用于存储帐户的账号 A_Overmongy// 用于存储帐户余额 PassWord//用于存储帐户密码 } 基本操作: { NewAcount() 初始条件:线性表 P 存在 操作结果:给线性表的一个基本单位的 A_Name,PassWord, A_OverMoney 赋初值。 Search() 初始条件:线性表存在。 操作结果:输入要查找的账号,验证密码,如果验证成功,则给出该结点的 A_Name,A_OverMone 等信息,否则返回主菜单。 ChangeMoney() 初始条件:线性表 P 存在,输入要查找的账号,验证密码,如果验证成功,则对结点的 A_OverMoney 进行修改数值操作,否则返回主菜单。 DeleteAcount() 初始条件:线性表 P 存在 操作结果:输入 A_Num 的值及 PassWord值并进行验证, 如果匹配,则将该结点所有信息清零。 } } 软件结构设计 : 开始 Switch(Opti o

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档