1、 游戏算法实践报告 2013 年 1 月 16 日 2 目录 1 问题定义与描述 3 1.1 问题定义 3 1.2 问题描述 3 2 关键技术 . 3 3 程序的执行命令操作 3 4 总体设计 . 4 4.1 系统模块图 . 4 4.2 结构设计说明 . 5 5 详细设计 . 5 5.1 构建节点类模板 . 5 5.2 主函数构建 5 5.3 其他各功能函数 6 6 测试结果及分析 8 7 心得体会 11 附录:程序代码 13 3 1 1 问题定义与描述问题定义与描述 1.1 问题定义 活期储蓄账目管理 1.2 问题描述 本程序需要先建立结点类模板, 然后使用链表的基本操作应用实现各个程序的实
2、现, 头 插法先建立链表使之成当前操作数据基础,然后可以使用节点的删除进行储户的销户,结 点的插入的应用成为程序的开户(注意:建立新的用户要先确认新建的用户号不可以语之 前的用户号码相同, 引起系统错误!本程序应用链表节点的比较改进程序。)。储户的存取 也是应用节点的比较查找之后进行的账户钱数加减。 2 2 关键技术关键技术 链表的插入、删除与查找 3 3 程序的执行命令操作程序的执行命令操作 (1).建立节电类模板,构建链表. (2).输入储户信息. (3).执行各项操作(数据测试) 1.查询储户信息. 2.开户. 3.储户支取信息查询. 4.储户的程序销户. 5.程序完成. 6.程序退出.
3、 4 4 4 总体设计总体设计 4.1 系统模块图 图 4.1 系统模块图 程序开始 输入储户信 程序菜单:1,3 (查询)2-(开 户)4-(销户) 5 (退出) Case2: 系统开户 (插 入新的节点)作为新 的户头(不可重复) Case1,3:系统查 找(账户对比) 存取消费操作 Case4: (用户销 户)删除当前节 点出去信息 1 查 找 成 功 0 出 1 删 除 成 功 0 出 程序员结束程序(系统 5 4.2 结构设计说明 1.本程序主要应用数据结构节点类模板,首先构建节点类模板,在建立已有储户数据中对 头结点(*head)分配动态存储空间,对头结点的邻接点(head-nex
4、t)赋初值,循环 插入新结点建立储户数据(头插法) 。在账号循环插入中进行账号重复判断。 2.在查找账户的过程中,应用结点下移继续查找,实现账户正确查找应用。 3.在销户过程中,进行结点删除,从而实现储户的销户。 4.在开户过程中,定义新结点,分配新的存储空间,进行结点插入,在账号循环插入中进 行账号重复判断,完成开户过程。 5.在存取记录过程中,应用结点下移进行循环查找账户信息,显示账户信息。 6.主函数测试。 5 5 详细设计详细设计 5.1 构建节点类模板 template/构建节点类模板 class Node public: Node *next;/ T 可省指针 string nam
5、e; T data; long int number; ; 5.2 主函数构建 主函数 main 在整个函数中负责各个函数的调用,可以根据不同的需求调用不同的函数。 首先,对菜单函数的调用,在菜单函数的指示下,若想进行已有储户数据的建立,则调用 CreatSavingList 函数;若进行账户查询,则需调用 SearchAccount 函数;若进行新建立 6 账户 (开户) 操作, 则调用 InsertAccount 函数; 若进行销户操作, 则需调用 DeleteAccount; 想退出程序,按 5 5.3 其他各功能函数其他各功能函数 1.CreatSavingLis 函 数 是 对 已
6、有 储 户 的 建 立 , 主 要 思 想 : 通 过 给 结 点 赋 值 (p-number=number; p-name=name; p-data=data;) ,再把该节点插入到链表中 (p-next=head-next; head-next=p;) 2. . SearchAccount 函数是对已有的账户进行查找,主要思想:通过一个循环程序,链表的 指针的移动与所要查找的客户信息进行比较,若是符合查找要求则查找成功。主要程序: while(p!=NULL if(p=NULL) coutnext; if(p=NULL) coutnext; 4. 函数 InsertAccount 是建立新的客户(开户)操作,主要思想:通过形参 x 接收要建 立的客户账号、输入的客户信息存储到节点的数据域中,再通过节点的插入来实现新客户 的创建。主要代码: p=head; q-number=x; q-next=p-next; p-next=q; couti; q-name=w; q-data=i; 5.Record