欢迎来到天天文库
浏览记录
ID:58842251
大小:1.42 MB
页数:50页
时间:2020-10-25
《数据结构大型实验报告—用户登录系统.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.....数据结构大型实验报告--用户登录系统:费红叶周恺琳学号:201226470205(费红叶)201226470229(周恺琳)主要负责人:周恺琳.资料........工业大学计算机学院完成日期:2013.12.28一、实验容分析(1)实验目的:在登录服务器系统时,都需要验证用户名和密码,如telnet远程登录服务器。用户输入用户名和密码后,服务器程序会首先验证用户信息的合法性。由于用户信息的验证频率很高,系统有必要有效地组织这些用户信息,从而快速查找和验证用户。另外,系统也会经常会添加新用
2、户、删除老用户和更新用户密码等操作,因此,系统必须采用动态结构,在添加、删除或更新后,依然能保证验证过程的快速。请采用相应的数据结构模拟用户登录系统,其功能要求包括用户登录、用户添加,用户密码更新和用户删除等。(2)实验基本数据结构针对上述业务流程,设计系统所需的类结构。需要定义如下几个类:类名称说明UserInfo用户信息类,定义了学生ID和密码,完成了文件的读入,“==”用来完成密码验证,“<”用来完成插入和查找,“>>”用来完成输入.资料........BinNode结点类,调用用户信息类和
3、平衡因子,用于完成AVL树结构UserTreesAVL树结构,完成了平衡输入,平衡删除,查找Menu菜单类,设计了用户登入,注册界面,密码修改,老用户删除等。(1)流程要求步骤:进入主界面,如果是老用户,可以直接登入,登入后可以选择修改密码,或者注销消息,然后退出菜单...如果是新用户,可以进行注册,自动转换到登入界面。(2)实验流程图主界面注册登入退出返回登入注销信息退出修改密码.资料........(1)类以及类间关系图示MenuUserTreesUserInfoBinNode(2)主要函数调
4、用关系insert(UserInfo&item)AVL_insert(BinNode*&t,UserInfo&item,booltaller)(本函数递归)L_Balance(BinNode*&t)R_Balance(BinNode*&t)LLotate(BinNode*&Rptr)LLotate(BinNode*&Rptr)(如L-Balance).资料........delete_key_from_AVL(BinNode*&tree,UserInfodata,boollower)函数分析情况如
5、AVL_insert(BinNode*&t,UserInfo&item,booltaller)。main()menu.select()Menu_input()(递归)Menu_insert()(递归)Menu_change(BinNode*Mptr)Menu_delete(BinNode*Nptr)(同左图)change(string&password)compare(string&pass)ps:各构造函数使用在此不一一说明,读入或者直接调用的函数也不一一举例。一、实验验证分析(1)输入的形式和
6、输入值的围:用户名类型:string密码类型:string(2)输出的形式界面输出选择框(3)程序所能达到的功能用户登录、用户添加,用户密码更新和用户删除(4)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。文件中已有数据:用户名和密码如下applefhy1118Apple1110111abcABC4C.资料........Aabc1**2cat890buthappyflowerflowertrees5678910flowst9087but1000000flowar080808正
7、确登入:.资料........正确注册:.资料........正确删除:.资料........正确修改密码:.资料........如果登入时密码错误,会出现提示栏:.资料........如果注册时两次密码不相同会出现提示栏:如果注册用户名已经存在会出现提示栏:.资料........如果修改密码原密码输入错误会出现提示栏:.资料........一、调试分析(1)讨论分析调试过程中的主要技术问题以及具体的解决方法(至少3个);主要技术问题:决定断点的位置解决方法:多设几个断点,分步调试主要技术问题:调
8、试数据的确定,使每种情况都能运用解决方法:努力凑数据主要技术问题:跟踪调试过程数据太繁多解决方法:减少跟踪量.资料........(1)技术难点分析(至少3个)1.主要技术难点:关于平衡因子的确定算法解决方法:利用百度进行修改,完成了适合本实验的代码2.主要技术难点:AVL插入解决方法:运用了平衡因子,然后和4个基本调整算法:左旋,右旋,先左旋后右旋,先右旋后左旋,然后分情况讨论左旋,右旋,先左旋后右旋,先右旋再左旋图示如下:是新插入的数右旋左旋.资料........先右旋再左旋先
此文档下载收益归作者所有