用户登录系统

用户登录系统

ID:39275677

大小:502.02 KB

页数:25页

时间:2019-06-29

用户登录系统_第1页
用户登录系统_第2页
用户登录系统_第3页
用户登录系统_第4页
用户登录系统_第5页
资源描述:

《用户登录系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、浙江工业大学本科毕业设计文献综述数据结构大型实验2015/2016(1)实验题目用户登录系统学生姓名____学生学号主要工作树的结构、框架编写负责人学生班级任课教师提交日期2016.1.2 计算机科学与技术学院II浙江工业大学计算机科学与技术学院大类基础课程大型实验报告用户登录系统一.实验题目和要求:【问题描述】在登录服务器系统时,都需要验证用户名和密码,如telnet远程登录服务器。用户输入用户名和密码后,服务器程序会首先验证用户信息的合法性。由于用户信息的验证频率很高,系统有必要有效地组织这些用户信息,从而快速查找和验证用户。另外,系统也会经常会添加新用户、删除老用

2、户和更新用户密码等操作,因此,系统必须采用动态结构,在添加、删除或更新后,依然能保证验证过程的快速。请采用相应的数据结构模拟用户登录系统,其功能要求包括用户登录、用户密码更新、用户添加和用户删除等。【基本要求】1.要求自己编程实现二叉树结构及其相关功能,以存储用户信息,不允许使用标准模板类的二叉树结构和函数。同时要求根据二叉树的变化情况,进行相应的平衡操作,即AVL平衡树操作,四种平衡操作都必须考虑。测试时,各种情况都需要测试,并附上测试截图;2.要求采用类的设计思路,不允许出现类以外的函数定义,但允许友元函数。主函数中只能出现类的成员函数的调用,不允许出现对其它函数的

3、调用。3.要求采用多文件方式:.h文件存储类的声明,.cpp文件存储类的实现,主函数main存储在另外一个单独的cpp文件中。如果采用类模板,则类的声明和实现都放在.h文件中。4.要求源程序中有相应注释;5.不强制要求采用类模板,也不要求采用可视化窗口;6.要求测试例子要比较详尽,各种极限情况也要考虑到,测试的输出信息要详细易懂,表明各个功能的执行正确;7.要求采用VisualC++6.0及以上版本进行调试;二.设计思路:第23页共25页浙江工业大学计算机科学与技术学院大类基础课程大型实验报告1.系统总体设计:采用平衡二叉查找树(AVL),以用户名(IP)作为比较的关键

4、词进行插入。平衡二叉查找树是在二叉搜索树(BST)的基础上进行了优化,使得树基本达到平衡。定义内部类userNode来存储AVL树的节点信息。2.系统功能设计:要创建一颗包含用户名和用户密码的二叉树,要能适应频繁的查找,因为每个用户名是唯一的,将用户名(string类型)作为AVL树的比较参数,这样就可以实现快速的插入、删除和查找,重定义userNode类的比较函数。AVL树是用模板类实现的,这样就可以直接比较两个用户类,方便了很多。主界面画树登录注册退出删除用户修改密码图1系统功能结构图3.类的设计://节点的类classuserNode{private:string

5、name;stringpassword;shortintheight;第23页共25页浙江工业大学计算机科学与技术学院大类基础课程大型实验报告public:userNode*left;userNode*right;userNode(conststring&name,conststring&password);userNode(constuserNode&temp);voidsetName(conststring&name);voidsetPassword(conststring&password);stringgetName();stringgetPassword();

6、intgetHeight();voidchangeHeight(constintheight);//改变树的高度boolcheckName(conststring&name);};//树的类classtree{private:userNode*root;public:tree();~tree();voidinsert_node(userNode*&t,userNode&temp);voidinsert_node(userNode&temp);//新建一个节点voidremove(userNode*&r,userNode*&temp);voidremove(userNod

7、e*&temp);//删除一个节点voidclear(userNode*t);voidclear();voidprint();voidprint(intindex,userNode*r);//输出一棵树voidPrint();voidPrint(ofstream&ofile,userNode*&r);//写入文件voidrotateL(userNode*&r);//左旋voidrotateR(userNode*&r);//右旋voidrotateDoubleLR(userNode*&r);//左右旋voidrotateDoubleRL(u

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。