数据结构课程设计-银行账户管理系统.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
目 录 A: 设计目的 3 1.1了解分析方法 3 B: 需求分析 3 1.程序需求及思想 3 2.程序执行命令操作 3 C: 概要设计 3-5 1.程序设计流程图 4 2.程序结构设计说明 5 D:详细设计 5-12 E:程序运行结果................................13-16 F:设计心得.....................................16-17 G:参考文献.......................................17 A、设计目的: 1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 2.充分了解和学习数据结构的系统设计和程序编码,对问题的探究与分析,进行更 多的应用与测试。 3.学习设计实现活期储蓄账目管理,并令其方便、简单、快捷的实现其各个部分的 功能。 4.通过这次实验使自己的设计水平有所提高,对数据结构的整体认知程度有所加强 ,锻炼自己思考和设计能力。 B、需求分析: 1.本程序需要先建立结点类模板,然后使用链表的基本操作应用实现各个程序的实现, 头插法先建立链表使之成当前操作数据基础,然后可以使用节点的删除进行储户的销户 ,结点的插入的应用成为程序的开户(注意:建立新的用户要先确认新建的用户号不可以 语之前的用户号码相同, 引起系统错误!本程序应用链表节点的比较改进程序。)。储户的存取也是应用节点的比 较查找之后进行的账户钱数加减。 2.程序的执行命令操作 (1).建立节电类模板,构建链表. (2).输入储户信息. (3).执行各项操作(数据测试) 1.查询储户信息. 2开户. 3储户支取信息查询. 4.储户的程序销户. 5.程序完成. (4).程序退出. C、概要设计: C.1:程序流程图 *程序设计流程图* C.2:结构设计说明 1.本程序主要应用数据结构节点类模板,首先构建节点类模板,在建立已有储户数据中 对头结点(*head)分配动态存储空间,对头结点的邻接点(head- >next)赋初值,循环插入新结点建立储户数据(头插法)。在账号循环插入中进行账号 重复判断。 2.在查找账户的过程中,应用结点下移继续查找,实现账户正确查找应用。 3.在销户过程中,进行结点删除,从而实现储户的销户。 4.在开户过程中,定义新结点,分配新的存储空间,进行结点插入,在账号循环插入中 进行账号重复判断,完成开户过程。 5.在存取记录过程中,应用结点下移进行循环查找账户信息,显示账户信息。 6.主函数测试。 D、详细设计: //活期储蓄帐目管理 #include<iostream> #include<string> using namespace std; template<class T>//构建节点类模板 class Node { public: Node<T> *next;// T 可省指针 string name; T data; long int number; }; template<class T> class SavingList { public: SavingList(){}; Node<T> * CreatSavingList(); void SearchAccount(long int x); Node<T> * DeleteAccount(long int x); Node<T> * InsertAccount(long int x); void Record(long int x,int y); private: Node<T> *head; }; template<class T> //建立已有储户数据 Node<T> * SavingList<T>::CreatSavingList() { head=new Node<T>;//初值 int k=1;//分配动态空间 Node<T> *p,*q; head->next=NULL;// 赋初值 long int number,Number; int data; string name; cout<<"请输入账户号(八位整数): "; cin>>number; Number=number; cout<<"请输入姓名: "; cin>>name; cout<<"请输入账户余额: "; cin>>data; while(number/1e7>=1 && number/1e7<=10) { p=new Node<T>; q=new Node<T>; p->number=number;//节点初值 p->name=name; p->data=data; p->next=head->next;//将p插入连中 head->next=p; cout<<"是否继 【数据结构课程设计-银行账户管理系统】 该课程设计的目标是让学生深入理解数据结构与算法,提升独立分析和设计的能力。具体来说,它旨在使学生掌握数据结构的系统设计和编程,增强问题解决与测试能力。设计的核心是一个活期储蓄账户管理系统,通过链表的数据结构来实现账户的增删查改功能。 **需求分析:** 1. 程序需创建一个节点类模板,用链表的操作来处理各种操作。利用头插法构建链表作为基础,以便后续的销户和开户操作。开户时,要确保新用户的账号不与已有账号重复,避免系统错误。 2. 程序执行流程包括:建立节点类模板、输入用户信息、执行各种操作(如查询、开户、支取查询、销户)以及程序退出。 **概要设计:** 1. 程序设计流程图展示了从输入客户信息开始,到用户选择菜单项进行操作(如开户、查询、销户)的过程。开户时插入新节点,查询和销户则涉及节点的查找和删除。 2. 结构设计说明中,程序使用节点类模板,分配动态内存为头节点,并初始化邻接节点。通过循环插入新节点构建储户数据链表,同时检查账号的唯一性。在查找、销户、开户和存取款操作中,都涉及到节点的移动、查找和更新。 **详细设计:** 源代码中,使用了模板类`Node`来定义节点结构,包含成员变量如用户名、余额和账号。`SavingList`类用于管理这些节点,包含创建链表、查找账户、删除账户、开户和记录存取款等方法。`CreatSavingList()`方法用于初始化链表,`SearchAccount()`用于查找账户,`DeleteAccount()`用于销户,`InsertAccount()`用于开户,而`Record()`则用于处理存取款操作。所有这些操作都在主函数中调用并测试。 通过这个课程设计,学生能够实践数据结构的运用,提升对链表操作的理解,同时增强软件设计与调试技巧。设计心得部分可能会包含学生在实现过程中遇到的问题、解决方案以及个人的成长体验。 参考文献列表则提供了进一步学习和参考资料,帮助学生扩展知识面。 这个项目是一个综合性的实践,涵盖了数据结构中的核心概念,如链表操作,以及软件开发的完整生命周期,包括需求分析、设计、实现和测试。通过这样的练习,学生可以更好地理解和应用理论知识,为将来从事软件开发工作打下坚实基础。
剩余14页未读,继续阅读
- shipeng00002023-12-18资源值得借鉴的内容很多,那就浅学一下吧,值得下载!
- 2301_801831442024-07-03资源太好了,解决了我当下遇到的难题,抱紧大佬的大腿~
- 粉丝: 111
- 资源: 9354
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 纯真IP库,用于ip查询地址使用的数据库文件
- 基于java的二手车交易网站的设计和实现论文.doc
- 基于8086的电子琴程序Proteus仿真
- NSMethodNotImplementedException如何解决.md
- ClassNotFoundException(解决方案).md
- ComputedOptionError解决办法.md
- NSInvalidFormatException如何解决.md
- InstantiationException(解决方案).md
- PropsValidationError解决办法.md
- KeyboardInterrupt.md
- MethodOptionError解决办法.md
- CloneNotSupportedException(解决方案).md
- WatcherError解决办法.md
- NSFileManagerError如何解决.md
- UnsupportedOperationException(解决方案).md
- MemoryError.md