- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计之活期储蓄账目管理
##大学
数据结构课程设计报告
题目: 活期储蓄账目管理
院(系): 计算机工程学院
学生姓名:
班级: 学号:
起迄日期: 2011.6.22--2011.6.29
指导教师:
2010—2011年度 第 2 学期
一、需求分析
1.问题描述:
本程序是对活期储蓄账目管理中开户、销户、存款、取款四个项目的编写。
系统设计要求:
能比较迅速的找到储户的账户,以实现存款、取款记账;
能比较简单,迅速的实现插入和删除,以实现开户和销户的需要。
2.基本功能
本程序是为了实现四种功能:储户的开户、销户、存款和取款操作。
本程序功能模块实现的具体功能如下表:
surface() 程序的界面显示
CreatList_L() 创建一个空链表
Createacount() 用户的开户操作
search_user() 用户的查找操作
Savemoney() 用户的存款操作
draw_money() 用户的取款操作
sich_abmelden() 用户的销户操作
3.输入输出
本程序在输入是需要用户输入的有用户的ID、用户密码、用户存款数目和用户取款数目,输出的是用户账户中的金额。所有的输入输出数据都是整形。其中用户ID和用户密码都为6位数,用户存取款数都为100的整数倍。
二、 概要设计
1.设计思路:
本程序是实现用户开户、销户、存款和取款四种功能。要求能够快速的找到用户账户,简单迅速的实现开户、销户操作。主要采用线性链表的结构,运用链表的插入,删除,查找,读取等算法实现程序要求的功能。
2.数据结构设计:
本程序采用的是线性链表结构,因为系统设计对程序的要求为能够迅速的找到用户账户,实现存取款操作,能简单迅速的实现开户和销户操作。线性链表符合系统设计的要求。通过头结点依次查找用户账户,从而实现存取款操作。开户既创建新的结点记录用户信息并插入到链表中,而销户既将用户账户所在结点释放。
抽象数据类型线性表的定义如下:
ADT List{ 数据对象:D={ai| ai ∈ElemSet,i=1,2,3……,n,n≥0}
数据关系:R1={ai-1,ai| ai-1,ai ∈D,i=1,2,3,……,n}
基本操作:
CreatList_L(L,M)
操作结果:创建以L为头结点,M为尾结点的空链表。
Createacount(L)
初始条件:线性链表L已存在
操作结果:创建新头结点储存用户信息并插入到链表中。
search_user(L,int u,int a,int s=0)
初始条件:线性链表L已存在,已输入数据u,a。
操作结果:根据输入的数据u,a查找在L链表中对应的用户账户。
savemoney(L)
初始条件:线性链表L已存在。
操作结果:查找到用户账户并根据输入的金额来改动账户数据金额并保存。
draw_money(L)
初始条件:线性链表L已存在。
操作结果:查找到用户账户并根据输入的金额来改动账户数据金额并保存。
sich_abmelden(L)
初始条件:线性链表L已存在。
操作结果:释放用户指定的账户所在结点。
}ADT List
3.软件结构设计:
本程序有主函数,开户,销户,查找用户,存款,取款五个模块。
1)main()函数运行时的调用关系图如下:
开户操作
销户操作
开始 创建空链表 选择操作
查找用户 存款操作
取款操作
2)具体函数声明如下:
成员函数名 函数声明
文档评论(0)