文末附源码地址

实验内容

  1. 单词及其英文解释的录入、修改和删除

    • 录入新单词,把它插入到相应的位置(按词典顺序),其后跟英文解释、同义词、反义词;(此功能要求在文件中完成,其它功能可以将单词放在数据段中
    • 可修改单词英文解释;
    • 删除单词及其英文解释;
  2. 查找
    • 输入不完整的字符串,会依顺序列出单词前缀和字符串相匹配的单词;

      • 如输入:en则列出:enable, enabled, enact等
    • 查询某个单词英文解释(如enable: to provide with the means or opportunity; to make possible, practical, or easy),词库中不存在此单词,则提示找不到;
    • 查询某个单词的同义词(如accept: approve);
    • 查询某个单词的反义词(如win: lose);
  3. 以上结果均需显示

开发环境

windows10(x64), emu8086

注意事项

  1. 请在光标跳动时进行输入,否则输入的信息会读入到缓冲区中,而在缓冲区的数据在进行后续操作时可能会被自动使用,导致预期之外的情况发生

  2. 如果不小心输入到缓冲区则可以点击清空缓冲区的数据

  3. 在输入前请确保切换至英文输入法,中文输入会导致数据出错,写入文件中可能出现乱码等问题

  4. 在进行搜索单词,插入单词,修改单词和删除单词等功能时需要进行单词的查找,这需要一段比较长的时间,请耐心等待,不要进行其他操作,等待光标再次跳动进行输入或者屏幕出现提示信息再进行后续操作。

  5. 代码中默认导入d:\words.txt的数据,请提前在对应目录创建好文件

    • 此处的d是虚拟磁盘中的d盘,注意好位置
    • 或者将代码主程序import部分中的注释块取消注释

功能展示

  1. 单词导入
  2. 单词的查找
    • 精确查找
    • 模糊查找
    • 查找不存在且不是某个单词前缀的单词
  3. 单词的插入
    • 插入已存在单词
    • 插入未存在单词

  4. 单词的修改
    • 修改不存在的单词
    • 修改存在的单词

  5. 单词的删除
    • 删除不存在的单词
    • 删除存在的单词

  6. 单词导出

功能实现

进入界面之前首先从文件导入单词到words数组中,根据读取的字节数确定存储的单词数量(记录在cnt中)

数据段中words模拟二维数组(words[64][100])实现单词的存储,开辟了6400字节的大小(默认为64个单词,可自定义调节),其中每个单词划分为1-20位存放单词,21-60存放解释,61-80存放同义词,81-100存放反义词,可以根据需求自行划分每一个部分的大小。

首先是考虑采用符号分隔存储,但是在文件中显示效果较差,所以改为每种信息规范多少位进行存储,没有占满则用空格占位,当然这样的方式要求输入的字符不能超过规定的限制,考虑到页面显示情况本身就不适合输入太多字符,所以采用此种方式。

随后初始化界面,进行功能的选择

通过在键盘上键入0-4选择功能(采用的是int16h的0号功能,不需要输入回车键),如果输入其他字符则会提示错误并要求重新输入

之后则可以进行对应的操作,如果选择的是0,则将words数组中的数据写入文件后退出程序。

  • 搜索功能实现了精确查找和模糊查询,在输入单词之后,查找是否存在精确匹配的单词,如果存在则输出对应的解释以及同义词、反义词。如果无精准匹配则搜索是否存在以其为前缀的单词(即模糊查询),之后将所有模糊匹配的结果输出
  • 查找某个单词使用两重循环,外层遍历所有单词,内层遍历单词中的每个字母进行实现
  • 插入功能通过字典序找到该单词应该插入的位置,之后将其后续位置相继都后移100位,挪出位置给新单词存放
  • 修改功能首先找到单词位置,之后使用读入的新数据覆盖原本的数据
  • 删除功能通过找到单词所在位置,将后续单词全部前移100位

具体实现可查看代码中的注释。

代码已在gitee和github上开源

  • 个人网站:https://www.ken-chy129.cn/
  • gitee:https://gitee.com/Ken-Chy129/dict
  • github:https://github.com/kil1ua/dict

汇编大作业(课程设计):简易英英词典相关推荐

  1. HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(HTML+CSS)~动漫主题html5网页模板-HTML期末作业课程设计期末大作业动漫主题html5网页模板-html5网页设计源码...

    HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(DIV+CSS) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没 ...

  2. 薛之谦明星人物介绍html源码 html期末大作业 课程设计

    薛之谦明星人物介绍html源码 html期末大作业 课程设计 开发语言:html 布局方式:div 页面数量:7页 项目页面截图 :

  3. HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(HTML+CSS)~动漫主题html5网页模板-HTML期末作业课程设计期末大作业动漫主题html5网页模板-html5网页设计源码

    HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(DIV+CSS) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没 ...

  4. HTML期末大作业课程设计动漫主题html5网页~奇恩动漫首页html模板(HTML+CSS)~个人设计web前端大作业...

    HTML期末大作业课程设计动漫主题html5网页~奇恩动漫首页html模板(HTML+CSS) ~个人设计web前端大作业 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTM ...

  5. 小猪佩奇网页 html源码 期末大作业 课程设计

    小猪佩奇网页 html源码 期末大作业 课程设计 开发语言:html 布局方式:div 页面数量:2页 项目页面截图 :

  6. HTML期末大作业课程设计~动漫游戏官网10个页面(HTML+CSS+JavaScript)

    HTML期末大作业课程设计动漫主题html5网页~动漫官网html模板(HTML+CSS) ~个人设计web前端大作业 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网 ...

  7. HTML期末大作业课程设计动漫主题html5网页~奇恩动漫首页html模板(HTML+CSS)~个人设计web前端大作业

    HTML期末大作业课程设计动漫主题html5网页~奇恩动漫首页html模板(HTML+CSS) ~个人设计web前端大作业 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTM ...

  8. 赵丽颖明星人物介绍html源码 html期末大作业 课程设计

    赵丽颖明星人物介绍html源码 html期末大作业 课程设计 开发语言:html 布局方式:div 页面数量:7页 项目页面截图 :

  9. 斩·赤红之瞳动漫网页 html源码 期末大作业 课程设计

    斩·赤红之瞳动漫网页 html源码 期末大作业 课程设计 开发语言:html 布局方式:div 页面数量:5页 项目页面截图 :

  10. javaweb基于JSP+Servlet房地产客户关系管理系统(CRM) 大作业 课程设计 毕业设计

    基于JSP+Servlet房地产客户关系管理系统(CRM)(毕业设计/大作业): 开发环境: Windows操作系统 开发工具: MyEclipse+Jdk+Tomcat6+Mysql数据库 运行效果 ...

最新文章

  1. 简洁好用的数据库表结构文档生成工具!
  2. nested exception is java.lang.IllegalStateException: Context namespace element 'annotation-config' a
  3. 一种以动态库的方式使用资源表的方案
  4. jQuery hash 插件
  5. python tk mainloop原理_理解Tkinter mainloop()的逻辑以及为什么变量没有重新分配它们的原始值?...
  6. 腾讯面试题: 百度搜索为什么那么快? | 原力计划
  7. 滴滴怒怼美团;阿里麻吉宝刷屏;B站、爱奇艺上市 | CSDN 极客头条
  8. 算法面试题解答(六)
  9. 工具分享 | LiqunKit 综合漏洞利用工具(下载地址在文末)
  10. 截止2020年中国有多少大学生?
  11. 第九届蓝桥杯大赛青少年创意编程 SCRATCH 初级组试题解析
  12. bat脚本修改文件内容
  13. 解读提升百度权重-刷百度指数的方法
  14. 双注入法/开路短路法
  15. 轻轻一扭,迎来温暖柔风,告别手脚冰凉,卡蛙桌面暖风机上手
  16. http 阮一峰_JavaScript 标准参考教程(alpha) 阮一峰
  17. matlab语言在天线设计,matlab语言在天线设计中的运用
  18. 传感器原理与检测技术复习笔记第六章-压电式传感器
  19. FFmpeg修改源码支持H265
  20. JLINK_Windows_V6.10i 驱动免费下载地址

热门文章

  1. 毕业设计 - 基于JAVA的小区/园区停车管理系统(简便易上手)
  2. 畅捷通服务器系统,畅捷通
  3. dubbo源码解析之服务调用(通信)流程
  4. 万能工具,完全免费实现各种超实用功能
  5. 南航计算机科学与技术学院老师,南航计算机科学与技术学院导师介绍:孙涵
  6. win10打开.heic文件
  7. win 10 arm iso 文件下载
  8. 求助微软商店下载的Ubuntu打开后显示目标路径参数错误,进入路径强制打开显示0x80070005错误。各种方法都试验了
  9. 在C语言中如何计算根号
  10. 系列4—BabeLua常见问题