数据结构课程设计_银行账户管理系统【最新】.doc

上传人:bao****ty 文档编号:132355990 上传时间:2020-05-14 格式:DOC 页数:69 大小:252.51KB
返回 下载 相关 举报
数据结构课程设计_银行账户管理系统【最新】.doc_第1页
第1页 / 共69页
数据结构课程设计_银行账户管理系统【最新】.doc_第2页
第2页 / 共69页
数据结构课程设计_银行账户管理系统【最新】.doc_第3页
第3页 / 共69页
数据结构课程设计_银行账户管理系统【最新】.doc_第4页
第4页 / 共69页
数据结构课程设计_银行账户管理系统【最新】.doc_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《数据结构课程设计_银行账户管理系统【最新】.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计_银行账户管理系统【最新】.doc(69页珍藏版)》请在金锄头文库上搜索。

1、目录A:设计目的31.1了解分析方法3B:需求分析31.程序需求及思想32.程序执行命令操作3C:概要设计3-51.程序设计流程图42.程序结构设计说明5D:详细设计5-12E:程序运行结果.13-16F:设计心得.16-17G:参考文献.17 71A、设计目的: 1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 2.充分了解和学习数据结构的系统设计和程序编码,对问题的探究与分析,进行更多的应用与测试。3.学习设计实现活期储蓄账目管理,并令其方便、简单、快捷的实现其各个部分的功能。4通过这次实验使自己的设计水平有所提高,对数据结构的整体认知程度有所加强,锻炼自己思考和设计

2、能力。B、需求分析:1.需要先建立结本程序点类模板,然后使用链表的基本操作应用实现各个程序的实现,头插法先建立链表使之成当前操作数据基础,然后可以使用节点的删除进行储户的销户,结点的插入的应用成为程序的开户(注意:建立新的用户要先确认新建的用户号不可以与之前的用户号码相同, 引起系统错误!本程序应用链表节点的比较改进程序。)。储户的存取也是应用节点的比较查找之后进行的账户钱数加减。2.程序的执行命令操作 (1).建立节电类模板,构建链表.(2).输入储户信息.(3).执行各项操作(数据测试)1.查询储户信息. 2开户.3储户支取信息查询.4.储户的程序销户. 5.程序完成. (4).程序退出.

3、 C、概要设计:C.1:程序流程图程序开始输入客户信息程序菜单:1,3(查询)2-(开户)4-(销户)5-(退出)Case2:系统开户(插入新的节点)作为新的户头(不可重复)Case1,3:系统查找(账户对比)存取消费操作Case4:(用户销户)删除当前节点出去信息1查找成功0出1开户成功0出1删除成功0出程序员结束程序(系统退出)程序结束(退出) *程序设计流程图*C.2:结构设计说明1.本程序主要应用数据结构节点类模板,首先构建节点类模板,在建立已有储户数据中对头结点(*head)分配动态存储空间,对头结点的邻接点(head-next)赋初值,循环插入新结点建立储户数据(头插法)。在账号循

4、环插入中进行账号重复判断。2.在查找账户的过程中,应用结点下移继续查找,实现账户正确查找应用。3.在销户过程中,进行结点删除,从而实现储户的销户。4.在开户过程中,定义新结点,分配新的存储空间,进行结点插入,在账号循环插入中进行账号重复判断,完成开户过程。5.在存取记录过程中,应用结点下移进行循环查找账户信息,显示账户信息。6.主函数测试。D、详细设计:/活期储蓄帐目管理 #include#includeusing namespace std;template/构建节点类模板class Nodepublic: Node *next;/ T 可省指针string name; T data;lon

5、g int number; ;template class SavingListpublic: SavingList();Node * CreatSavingList();void SearchAccount(long int x);Node * DeleteAccount(long int x);Node * InsertAccount(long int x); void Record(long int x,int y); private:Node *head; ; template /建立已有储户数据 Node * SavingList:CreatSavingList() head=new

6、 Node;/初值 int k=1;/分配动态空间Node *p,*q;head-next=NULL;/ 赋初值long int number,Number;int data; string name; coutnumber;Number=number;coutname; coutdata;while(number/1e7=1 & number/1e7=10) p=new Node;q=new Node;p-number=number;/节点初值p-name=name;p-data=data;p-next=head-next;/将p插入连中head-next=p;cout是否继续输入信息 按1

7、继续输入 按0退出k;if(k=0)break;coutnumber;q=head-next;while(q)/账号的重复判断if(q-number=number)cout账号已存在 !next;if(!q)coutname;coutdata;return head;template /查找账户 void SavingList:SearchAccount(long int x) if(x/1e710) cout您输入的账户不存在endl; return ; Node *p; p=head; while(p!=NULL & p-number!=x) p=p-next;/向下移位 继续查找 if(

8、p=NULL) cout您输入的账户未找到endl; else cout账户名: nameendl;cout账户号码: numberendl;cout账户余额: data元endl; template /销户Node * SavingList:DeleteAccount(long int x) Node *p,*q;/节点类型 p=head; while(p!=NULL&p-number!=x) q=p;p=p-next;if(p=NULL) cout您输入的账户已不存在next=p-next;/将q删掉 return head; template /开户 Node * SavingList:

9、InsertAccount(long int x) Node *p,*q;q=new Node; char w10;/名字 int i; p=head;q-number=x; q-next=p-next; p-next=q;/插入 q(新的账号)coutw;couti;q-name=w; q-data=i; cout您的新账户的信息是:endl; cout账户名: nameendl;cout账户号码: numberendl; cout账户余额: data元endl;return head; template /存取款记录 void SavingList:Record(long int x,in

10、t y) Node *p;p=head;while(p!=NULL & p-number!=x) /循环查找P的相同正确值 节点下移p=p-next; if(p=NULL) cout您输入的账户不存在data=p-data+y;if(p-data0)cout余额不足 请充值!endl;elsecout目前您的账户信息:endl;cout账户名(八位): nameendl; cout账户号码: numberendl; cout账户余额: data元endl; int Menu()int n; cout-Menu-endl; coutt1.查询账户 2.开户nnendl; coutt3.支出存储记录 4.销户nnendl;coutt5.退出endl;cout-;coutendl;do cout请输入你的选择(1-5):nn; while(n5);return n; int main()SavingList T; Node *head;head=T.CreatSavingList(); long int x; int y,n;for(;) switch (Menu() case

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号