简易英汉词典

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

仲恺农业工程学院

课程设计

简易英汉词典

课程面向对象课程设计

姓名陈瑞鑫

院(系)计算机科学与工程学院

专业年级计算机科学与技术071班

学号200710214111

指导教师陈勇、贺超波

日期 2009年8月31日-2009年9月13日仲恺农业工程学院教务处制

目录

1、需求与功能分析 1

2、系统总体框架 2

3、模块设计与分析 3

4、类的设计与分析 10

5、特色算法分析 15

6、功能测试 18

7、存在的不足与对策 21

8、程序源代码 24

9、使用说明 26

10、参考文献 32

1、需求与功能分析

设计的任务要求:

(1)使用所学过的C++面向对象语言设计、数据结构和算法设计的

课程完成简易英汉词典的课程设计。

(2)通过本次的课程设计进一步提升自己的编程水平和计算机算法

设计能力,主要通过熟悉并学会使用VC++ 6.0的和对词典文本文件的操

作(查询和插入操作使用适当的查询算法和插入算法来实现)来完成本

项目。

(3)用C++编写程序使得进一步理解面向对象的深层含义以及通过

学习MFC进一步完善窗口界面,在不断完善程序的过程使得在处理类与

类之间的联系能更加巧妙,更简单明了。

(4)对于单词查询也就是数据查询方面,采用了顺序查询算法,找

到单词则返回在文件包含的数组中的相应位置。其中将“diction.txt”作

为存放数据的文件,详见源程序根目录。

(5)在设计时,充分考虑输入的容错性和用户界面的友好。当输入

的单词有误或者查询不到是给予相应的提示并考虑用户是否进行插入操

作,对于程序窗口则采用MFC来完成,MFC是面向对象程序设计与

Application framework的完美结合,他将传统的API进行了分类封装,

并且创建了程序的一般框架。

程序功能设计:

(6)简易英汉词典应该是一个可以提供查询英文单词和词汇的程序,具有一个提供单词或词组输入的界面,内置单词量应该涵盖大学非

英语专业的等级。

(7)该程序应该有一个基本界面输出,通过设计使其变得更加友好,并且在用户输入字母时能够智能检测并列出包含该字母的单词(可分为

两种情况,一种是按照首字母的一定格式检测,另一种是不论其位置进

行检测,这种在一般词典中不使用,因为整单词表的内容较多,按照第

二种方法检测时会列出较多的词汇,比较不实际。)

(8)词典的内容放在一个用记事本写的数据表“diction.txt”中。在

查询状态下,表中有2 个字段行( 单词和解释) , 将“单词”字段窗口定

义为可输入控件,被显示的单词解释定义为不可修改;在插入状态下则

将后者显示为可编辑状态。因为设计的是英汉词典, 所以, 用户在使用或

者运行的过程中应该按照英语单词查询。

实现对英语单词词库的基本管理,包括:

录入:从键盘上增加词条信息,包括英文单词、中文意思(设计时,需考虑如何防止重复输入)。

编辑:修改或删除某个词条的信息,在操作前,需先进行查找定位。

查找:精确查找(按单词查)和模糊查找(按前几个字母查)。

显示:将单词按某种格式显示出来。

排序:将单词按字母顺序排序。

测试:随机给用户一个英文单词,根据用户输入的汉语意思给出正误信息。

读文件:把文件中的信息读到相关的数据结构中。 写文件:将单词信息保存到文件中。

2、 系统总体框架

本程序所实现的功能是实现一个简易英汉词典,可以实现英语单词和简易汉语意思的翻译。可以实现英语单词的查询并翻译、插入(在没查询结果的条件下)、通过清除按钮重复查询或修改输入。

本程序的功能结构如图2-1所示。

图2-1 系统总体设计框架

程序中使用的单词构成如图2-2所示。

图2-2 单词构成示意图

E(m,n)

M m

⋯ E(3,3) E(3,1) M 3

E(2,2)

M 2 E(1,n) E(1,2) E(1,1)

M 1 F n ⋯

F 3

F 2 F 1

词义

词形

系统最终效果界面如图2-3所示。

图2-3 系统效果图

用户可以通过界面上的单词窗口输入需要查找的单词,按显示按钮将在翻译窗口显示对应的中文翻译,主要设计了3种类型的操作:显示、清除、插入。然后根据输入的单词的具体情况进行识别和做出反应,如果找到对应的单词则在翻译窗口显示相应信息,如果没找到,则给予用户相应提示:是否插入新的单词?如果选择是,系统将调用单词插入函数,用户可以自己输入翻译信息,以备下次查询可以查到该单词的意思;如果选择否,则不调用任何参数。清除操作给予用户在输入错误单词的修复操作,重新输入。

3、模块设计与分析

模块一:建立单词表。

本单词表主要面向非英语专业用户,因此在建立单词表的过程不需要过于专业化和全面化,提供实用的查询即可;当然,英语专业用户可以根据自己建立的单词表分析自己自行插入单词完善单词表,所以,本程序跟单词表是分开设计的,体现了单词表的独立性,对于每个专业的专业术语不同,用户可以自行建立单词表,或者在已有的专业单词表插入到“diction.txt”文件中。

下面主要根据知网系统(Hownet)基础文件的建立方式,即知识词典对每个词语的描述建立单词表,构词过程下面给出了一个相应的例子。

当我们建立医院的单词系统时,可以将医院(hospital)、医生(doctor)、医药(drug、medicine、remedy、healer)、疾病(disease、ill、illness、malady、sickness、complaint)、医药费(curative、medicament、medication)、患者(sufferer)作为基础单词进行扩展:医治(cure、heal、treat)、罹患(disaster、peril、trouble、

相关文档
最新文档