[技术]编程日记3 – 简单英汉词典

两天半赶出来的作品。

需求分析了一个早上。

项目10 简单英汉字典
概述 该项目实现简单的英汉字典,实现字典的显示,查询,字典条目增删改查。
功能编号 功能
1 主界面
2 生成字典
3 字典条目增加
4 字典条目删除
5 字典条目修改
6 字典条目检索
7 退出
项目选择 考核点 难度 包含功能点 对应分数
1 字典条目结构设计 85-100
字典存储
检索支持(模糊匹配、支持翻页)
2 字典条目增加 70-85
字典条目删除
字典条目删除
字典条目检索
3 主界面 60-70
退出
生成字典
显示字典

 

找到了这个网页:http://blog.csdn.net/karldoenitz/article/details/8816053

通过infile.getline(ch,50)的方法读取.txt文件中的一行,然后再根据存储时英文与中文之间的空格来分开截取为两个字符串。之后再通过insert()函数将其插入二叉树中,实在精妙。

 

以上代码中,通过string类型定义的字符串中重载的比较大小,对字符串进行大小比较,后通过递归方法存入二叉树中。

这给了我很大的启发。于是我开始“滥用”递归。

 


 

查阅资料完毕。之后就是开始构思了。

以前我从未完成过用户登录与注册,只是在前段时间完成了PHP与MySQL的简单连接登录注册。所以做的时候还是有一些小激动。

QQ截图20160711132203

 

这也是第一次使用gotoxy()函数去移动光标。

 

自己画框框,然后getch()掩码,就是输入一个字符,判断它是否为退格键’\b’,如果不是,则将它输出。(如果是密码则输出‘*’)。

之后将传入的用户名、密码传入judge()函数中进行判定是否登录成功。

注意,这里利用递归一个个遍历节点去寻找是否有相应的用户。

二叉树启发了递归,于是后来的单词插入,用户注册,登陆判定,几乎全都是使用递归的。


还有一部分,就是存入单词与单词本的函数。

保存用户的单词本与保存单词类似,只是用户需要在查询单词之后再进行保存。唯一的差别就是单词本是用链表存储的。

之后就是表格中提到的翻页功能。

在函数中留一个page的参数,然后再限制输出,即可完成翻页。

 

最后还是上一发下载地址供大家传阅:

http://pan.baidu.com/s/1sl28opR

系统管理员账号:admin 密码:123456

      用户测试账号:123 密码: 000

 

直接点开的版本

http://pan.baidu.com/s/1hsuJxHy