关键词不能为空

当前您在: 主页 > 英语 >

英语字典软件的设计和实现

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-10-26 05:41
tags:免费英语学习软件

苎麻根-except

2020年10月26日发(作者:侯治溥)





英语字典软件的设计和实现

(吴迎娅)

(浙江海洋学院 数理与信息学院,C08计算机1班,浙江 舟山 316000)


摘 要
英语词典作为一种工具书,能够查找英语单词的中文意思, 使我们更容易学习英语。学
习英语离不开词典,要学好和掌握英语,使用英语词典是主要方法之一。随着 科学技术的发
展,传统的字典由于携带不方便,词汇量受限等等原因,使用者减少很多,在这种情况下,
英语电子词典应运而生。本软件是用C语言编写的一款小型的英语电子词典软件,拥有50
个词 汇量。它利用结构体存放单词库,有较好的可扩充性,实现了查找单词中文意思、添加
和删除单词及查找 形近单词等功能。



关键字:英语词典,C语言,单词库,查找














I



目录
摘 要 ................................................ ........................ I
目录 ................ .................................................. ....... II
概述 ................................ .......................................... 1
1.1英语词典软件概述 .................................. ..................... 1
1.2英语词典软件主要功能 ........ ........................................... 1
软件开发环境 ....................................... ........................... 1
2.1开发工具说明 ...... .................................................. ... 1
2.2系统运行环境说明 ............................ ........................... 1
英语词典软件系统分析 ..... .................................................. ... 2
3.1可行性研究 ............................... .............................. 2
3.1.1技术可行性 .. .................................................. .... 2
3.1.2经济可行性 ............................ ............................ 2
3.1.3操作可行性 .... .................................................. .. 2
3.2英语词典软件需求分析 ........................... ........................ 3
英语词典软件系统设计 ........ .................................................. 3
4.1总体设计 .................................... ........................... 3
4.1.1大致流程图 ..... .................................................. . 3
4.2详细设计 .................................. ............................. 4
4.3界面设计 ...... .................................................. ....... 8
英语词典软件的编码和测试 ....................... ............................... 9
5.1编码 ...... .................................................. ........... 9
5.1.1结构体 ....................... ..................................... 9
5.1.2主函数 ..................................... ...................... 10
5.1.3子函数finding .... ............................................... 12
5.1.4子函数near1 ................................ ..................... 12
5.1.5子函数fatecmp ..... .............................................. 13
5.1.6删除函数dele ................................ .................... 13
5.1.7添加函数add ......... ............................................ 14
5.1.8模块introduce ............................. ...................... 14
5.1.9退出系统 .......... ............................................... 15
5.2系统测试 ...................................... ........................ 15
5.2.1功能测试 ........ ................................................. 15
5.2.2测试用例的设计和结果分析 ......................................... 16
总结 ........................................... .............................. 17
参考文献 ....... .................................................. ............ 18



II




概述
1.1英语词典软件概述
该软件是一个运行在Windows平台 下的小型英语词典软件,这是一个用C语言编写的,拥有词汇量为
50个的英语小字典,它利用结构体存 放单词库,有较好的可扩充性。
1.2英语词典软件主要功能
它实现的功能包括查找单词的 中文意思,增加单词,删除单词,退出系统等,该软件主要用到的语句
有switch,for,whi le,if,strcmp等!(注:该软件是用WIN- TC软件编译,因此在XP32位系统和WIN764
位系统下无法运行中文DOS环境)
软件开发环境
2.1开发工具说明
WINTC是一个TC2 WINDOWS平台 开发工具,该软件使用TC2为内核,提供WINDOWS平台的开发界面,
支持WINDOWS平台下 的功能,如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独特特色例如语
法加亮、C内嵌汇编 、自定义扩展库的支持等。并在编程过程中提供一组相关辅助工具。
该软件的主要优点有:
1.由于WINTC是WINDOWS程序,所以在其中进行鼠标操作,程序段的复制,中文输入输出等功能变得
非常方便。
2.支持字体大小的调整和C 程序中各种关键字符的变色显示。
消除 了初学者设置工作目录的烦恼,自动设置好工作目录,程序编写好之后就可以直接编译
运行。
4.中文界面,提示出错信息也是中文的,支持在运行结果中显示中文,这样在程序中就可以输出中文
的 提示语句了。
2.2系统运行环境说明
1.硬件环境
处理器:Inter Pentium 166 MX或更高

1



内存:32MB以上
硬盘空间:1GB以上
显卡:SVGA显示适配器
2.软件环境
操作系统:Windows 98ME2000XPVISTAWIN7
英语词典软件系统分析
3.1可行性研究 可行性研究也称为可行性分析,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,
对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包
括以下几个方面的内容。
3.1.1技术可行性
WIN-TC是一个TC2 WINDO WS平台开发工具。该软件使用TC2为内核,提供WINDOWS平台的开发界面,
因此也就支持WI NDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独特
特色例如语 法加亮、C内嵌汇编、自定义扩展库的支持等。并提供一组相关辅助工具令你在编程过程中更
加游刃有余 ,如虎添翼。
本软件用于编写C语言程序。WIN- TC简繁双语版可以正常运行于98及其以上的简体及繁体WINDOWS
操作系统上。WIN- TC是Turbo C 2.0(简称TC2.0)的一种扩展形式,是在TC2.0的基础上,增强了系统的< br>兼容性和共享性,允许进行复制粘贴的多项可以用鼠标来操作的功能,比TC2.0使用起来方便。
运用该软件可以实现英语词典包括查找单词的中文意思,增加单词,删除单词,退出系统等功能。
3.1.2经济可行性
学习英语离不开词典,要学好和掌握英语,使用英语词典是主要方法之 一。随着科学技术的发展,传
统的字典由于携带不方便,词汇量受限等等原因,使用者减少很多,而英语 词典软件解决了这些问题,让
人们能更加方便的学习英语。
3.1.3操作可行性
操作非常简单,只要进入界面,然后可以按照自己的需要选择相应的界面进行输入自己要查找的单词,
添 加新单词以及删除不需要的单词等相关操作,操作非常方便。

2



从法律方面来说该系统完全可行。
3.2英语词典软件需求分析
这是一个拥有50 个词汇量的英语电子小字典,它利用结构体存放单词库,有较好的可扩充性,具有
查找单词中文意思以及 词性、添加字典单词、删除字典单词等功能。
(1)查找单词中文意思以及词性
用户输入想 要查找的单词,并按回车,该词典便会自动搜索与用户键入单词一样的单词,并将其连同
中文意思,词性 等打印出来,如果在字典库里面找不到与之相匹配的英语单词,则打印输出“there is not
this word in the vocabulary!!”
(2)添加字典单词库
为了扩充单词库的内容,该软件添加了另一项功能,添加单词库单词功能,该功能所执行的任务是:从键盘上输入单词内容并保存在内存上,用户只需键入要添加位置,并敲进单词的内容便可。
(3)删除字典单词
该功能实现的是删除不想要的单词,以及它对应的词性,中文意思,等等 。
(4)查找相近单词
该部分执行的功能是当用户打入某个英文单词的开头时,软件将自动 把所有与用户所敲进单词开头相
同的单词打印出来。例如,当用户敲进“go”时,电脑将打印出“go ”“good”“good morning”
(5)作者介绍以及软件介绍
该功能主要是向用户介绍该软件制作者,以及该软件的使用方法。
(6)退出系统
这功能执行的是结束软件的进程。
英语词典软件系统设计
开始
4.1总体设计
4.1.1大致流程图















图4-1

3












退




4.2详细设计
(1)查找函数
流程图如下:






















图4-2










4
开始
从键盘输入要查找的word
i==0
strcmp([].
english)==0
Y
N
i<=0,i++
打印
English,cixing,means
i==100
结束
打印
This word is not word in the dictionary




(2)查找相近函数
流程图如下:






















图4-3











5
开始
定义两个数组s1,s2
输入两个比较单词
i= =0
fatecmp([i].eng
lish)==0
Y
N
i=count
I++
打印
stu[i].english
结束



(3)fatecmp模糊比较函数
流程图如下:












图4-4
(4)删除函数
流程图如下:
















图4-5



6
开始
i= =0
Y
s1[i]!=s2[i]
N
S[i]!='0',i++
return 0
return 1
开始
输入要删除的单词
i= =0
strcpy(stu[i].english,stu[i-1].english)
strcpy(stu[i].cixing,stu[i-1].cixing)
strcpy(stu[i].means,stu[i-1].means)

i>=K,i- -
输出所有单词



(5)添加函数
流程图如下:
















图4-6



(6)作者介绍
流程图如下:










图4-7
结束
打印作者内容
开始
i>=K;i- -
打印添加的单词
strcpy(stu[i].english,stu[i-1].english);
strcpy(stu[i].cixing,stu[i-1].cixing);
strcpy(stu[i].means,stu[i-1].means);
i= =51
输入要添加的单词位置
开始

7



4.3界面设计
1.充分考虑界面易于操作的系统需求,单词查询 和添加单词等功能需求采用类似于菜单的功能选择方
式实现。具体功能选择界面设计效果图如图所示。












图4-8
2选择相应选项时,表示选择选择相应的功能
(1)选择1,查找英语单词




图4-9
(2)添加英语单词








图4-10



8



(3)删除单词




图4-11
(4)查找形近单词





图4-12

(5)作者介绍









图4-13
英语词典软件的编码和测试
5.1编码
5.1.1结构体
代码开头定义了一个结构体struct words,存放字典单词库.该结构体里面包含:
english,cixing,means三部分内容。并定义了一个全局变量count=52,表示单词表 中总共存放了52个单
词.具体代码如下:

9



#include
#include
#include
int count=52;
struct words
{
char english[20];
char cixing[20];
char means[20];
}

stu[100]={{

ma n
ade

rou
et
hainaoshengping
{< br>xi dexiali mian
mian
xixianghuanyin
{z aizu
shi
5.1.2主函数
软件的主函数.该软件主函数是由一个swi tch函数构成,通过switch函数调用各个子函数,从而
实现,当键盘敲入选项的时候,选择向相 应的功能.在主函数中,我定义了五个子函数:
finding,add,dele,near1,in troduce.它们相应的功能是:查找,添加,删除,查找相近,介绍.其次,
主函数中还利用pr intf语句构建了一个软件的初始界面.并在界面中明确如何使用该软件.具体代码如
下:
void main()
{
int in;

10



void finding1(); *调用查找函数*
void add(); *调用增加单词函数*
void dele(); *调用删除单词函数*
void near1(); *调用查找相似单词函数*
void introduce();
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
printf(
for(;;)
{
scanf(
switch (in)
{
case 1: finding1();break;
case 2: add();break;
case 3: dele();break;
case 4: near1();break;
case 5: introduce();break;

11



case 6: exit(0);
} }}
5.1.3子函数finding
该子函数主要用到的语句是for语句跟比较函数strcmp。首先我定义了一个长度为20的字符串cha r
word[20],该字符串用来存放用户查找的单词。然后利用strcmp函数,与stu[i ].english一一比较,当
strcmp()==0时,则打印stu[i].english, stu[i].cixing,stu[i].means.当strcmp()!=0时候,执行for
语句,也就是说,当strcmp()!=0时,执行i++,与单词库里的下一个英语单词进行比较。知道找 到i>52
为止,如果还未找到,则打印 “there is no this word in the vocabulary!!”具体代码如下:
void finding1() *查找函数*
{
char word[20]; *定义要找的单词*
int i;
printf(
scanf (输入要查找的单词*
for(i=0;i<=100;i++)
{
if (strcmp(word,stu[i].english)==0) *利用比较函数与字母库里面的单词一
一比较*
{printf(
break;}
}
if(i>100)
printf(
}
5.1.4子函数near1
该部分中调用了另外一个模糊比较函数(fatecmp()) ,从而实现,查找相近单词的功能。用户从键盘
敲入单词或字母b,执行fatecmp(b,stu[ i].english),当函数fatecmp()==0时,即已经找到相近的单词,
则打印stu [i].english.然后继续执行for语句,执行i++,直至i>=count.如果未能找到,也继 续执行for
语句。具体代码如下:
void near1 () *查找相近函数*
{ int fatecmp(char *s1,char *s2); *调用模糊函数*
char b[20]; *定义一个数组存放要查找的单词*

12



int i,j;
printf(
scanf(
for (i=0;i {if (fatecmp(b,stu[i].english)==0)
printf(
}}
5.1.5子函数fatecmp
定义两个字符数组s1,s2,独个比较字符串中的 每个字符,直至遇到字符’0’为止。当s1[]!=s2[],
则return 1;否则return0。具体代码如下:
int fatecmp(char *s1,char *s2) *定义模糊比较函数*
{
int i;
for(i=0;s1[i]!='0';i++) *当s1[i]!=0时i++*
{if (s1[i]!=s2[i]) *直到i出来*
return 1;}
return 0;
}
5.1.6删除函数dele
该函数通过strcpy函数,将要删除的单词用它的下一个单词替代,以即利用 strcpy函数。将要删除
单词的下一个单词替代到要删除单词的位置。具体代码如下:
void dele() *定义一个删除函数*
{
int j,i;
char k[10];
printf(
scanf(
for(j=k;j<=51;j++) *将第K个要删的函数附值*
{
strcpy(stu[j-1].english,stu[j].english); *找到要找的单词,然后用它的下一个单词替
代原有的单词,实现查找删除功能*
strcpy(stu[j-1].cixing,stu[j].cixing);

13



strcpy(stu[j-1].means,stu[j].means);
}
for(i=0;i<51;i++) *当i<51时,把所有的单词都打印出来*
printf(
}
5.1.7添加函数add
该函数的原 理与dele函数一样,它同样是利用strcpy,将要插入单词的后面的那些单词往后移。具
体代码 如下:
void add() *定义一个增加函数*
{
int i,k;
printf(
scanf(
for(i=51;i>=k;i--) *查找要插入的位置,并插入,后面的往后移一位*
{
strcpy(stu[i].english,stu[i-1].english);
strcpy(stu[i].cixing,stu[i-1].cixing);
strcpy(stu[i].means,stu[i-1].means);
}
printf(
scanf(
printf(
scanf(
printf(
scanf(
printf(
stu[k-1].english,stu[k-1].cixing,
stu[k-1].means);
printf(
}
5.1.8模块introduce
一些printf语句,打印作者信息与软件介绍。具体代码如下:

14



void introduce()
{
printf(
printf(
printf(
printf(
printf(
printf(
printf(ruan jian shi yi ge yong you ci hui liang 50 ge de dan ci cha zhao ruan jian ,ta
shi xian n
printf(
chu dan cin
printf(
for n
printf(
}
5.1.9退出系统
通过库函数#include 中的exit(0)实现的。
5.2系统测试
信息技术深深融入业务 生活,使得软件产品质量的要求变得很高。这也使我们为提高软件测试的效率
来寻求各式各样的方法。
而软件测试的方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:
按测试阶段可分为:单元测试、集成测试、确认测试、系统测试
在每个阶段,按测试的内容可 分为:功能测试、性能测试、边界测试、余量测试、可靠性测试、安全
性测试、强度测试、安装测试、恢 复性测试、配置测试。
测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测 试来检验是否每个功
能都能正常使用;如果知道产品的内部过程,可以通过测试来检验产品内部动作是否 按照规格说明书的规
定正常进行。前一种方法称为黑盒测试,后一种方法成为白盒测试。
5.2.1功能测试
功能测试也称为黑盒测试,用于验证系统的各项功能是否能正常完成。由 于实际情况的多样性,需要
由多人重复测试,在不同情况下执行各项功能操作,其输出就是该功能的执行 结果。

15



黑盒测试发现下述类型错误:
(1)功能不正确或遗漏了功能。
(2)界面错误。
(3)数据结构错误或外部数据库访问错误。
(4)性能错误。
(5)初始化和终止错误。
5.2.2测试用例的设计和结果分析
以查询单词为例:
测试用例的设计和结果显示:
1.输入数据:hand
2.预期输出:hand,n,shou
运行结果如图所示:





图5-1
结果分析:运行结果与预期输出结果一致。
其他模块的运行结果和预期输出结果基本都一致















16



总结
忙碌了一个多星期,终于把课程设计完成了, 体会真的很深,正如老师说的那样,只要你自己做出来,
收获肯定很多的。
在这短短一周时间 里,为了这个课程设计,我花了很多心血,中间有过郁闷,有过烦躁的时间,但是
还是坚持下来了。我享 受到了编程的乐趣。编程真的像网上说那样,需要耐心跟细心的,有好几次出现了
错误,查了好久都还查 不出错在哪里,那时候真的很烦躁,好想放弃,对着屏幕盯了好久也看不出,最后
还是同学帮我看出了是 缺了一个“}”。其实这只是一个低级的错误,但是,它确让我整个程序都无法运行,
让我整个人几乎崩 溃。所以我觉得编程对一个人的耐心以及细心程度是一个极大的考验。还有,这也提醒
了我一个很重要的 问题,编程中,一定要养成良好的习惯。不然很容易就缺双引号,或者大括号了。
由于我们对于课本上 的知识不是很熟识,所以在编程当中,我经常要翻课本上,回忆之前学过的知识,
这样也浪费了很多时间 。其次,我对于一些课本上的语句还不是很熟,用起来比较生涩,不够灵活。不过
对于最新学到的结构体 倒能够很好的运用,该软件中,大多数都是以结构体的形式来完成的。
通过这次课程设计使我对课本的 知识掌握的更加牢靠了,对于C语言的算法有了一个比较清晰的映像,
相信在以后的学习中可以更好的提 高自己的能力,编出质量好一点的程序。





















17



参考文献
[1] 黄明等.21世纪进阶辅导 C语言程序设计[M].大连理工大学出版社,2005

[2] 马靖善等.C语言程序设计[M].清华大学出版社,2005

[3] 谭浩强.C语言程序设计(第二版)[M].北京:高等教育出版社,2002

[4] Brian an Dennis e C程序设计语言 清华大学出版社

[5] 陈朔鹰等编著,C语言程序设计基础教程,兵器工业出版社,1994年9月

[6] 姜仲秋等主编,C语言程序设计,南京大学出版社,1998年1月。

[7] 陈朔鹰 陈英主编,C语言程序设计习题集(第二版),人民邮电出版社,2003年2月

[8] Paul S. R. Chishohm等著,张芳妮 吕波译 C语言编程常见问题解答[美],清华大学出版社

18

比重是什么意思-人不堪其忧的堪的意思


rpm是什么单位-尺子英语怎么写


sunburst-留学文书机构


北原-韩国语能力考试报名


澳大利亚怎么读-nvid


decently-alize


控制英语-你是哪个国家的人英文怎么说


体操的英语-铣削动力头



本文更新与2020-10-26 05:41,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/427076.html

英语字典软件的设计和实现的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文