英语字典软件的设计和实现.docx
《英语字典软件的设计和实现.docx》由会员分享,可在线阅读,更多相关《英语字典软件的设计和实现.docx(17页珍藏版)》请在冰豆网上搜索。
![英语字典软件的设计和实现.docx](https://file1.bdocx.com/fileroot1/2022-10/9/708c2661-7285-49ad-bf6a-4cfdd91cafa1/708c2661-7285-49ad-bf6a-4cfdd91cafa11.gif)
英语字典软件的设计和实现
英语字典软件的设计和实现
摘要
英语词典作为一种工具书,能够查找英语单词的中文意思,使我们更容易学习英语。
学习英语离不开词典,要学好和掌握英语,使用英语词典是主要方法之一。
随着科学技术的发展,传统的字典由于携带不方便,词汇量受限等等原因,使用者减少很多,在这种情况下,英语电子词典应运而生。
本软件是用C语言编写的一款小型的英语电子词典软件,拥有50个词汇量。
它利用结构体存放单词库,有较好的可扩充性,实现了查找单词中文意思、添加和删除单词及查找形近单词等功能。
关键字:
英语词典,C语言,单词库,查找
概述
1.1英语词典软件概述
该软件是一个运行在Windows平台下的小型英语词典软件,这是一个用C语言编写的,拥有词汇量为50个的英语小字典,它利用结构体存放单词库,有较好的可扩充性。
1.2英语词典软件主要功能
它实现的功能包括查找单词的中文意思,增加单词,删除单词,退出系统等,该软件主要用到的语句有switch,for,while,if,strcmp等!
(注:
该软件是用WIN-TC软件编译,因此在XP32位系统和WIN764位系统下无法运行中文DOS环境)
软件开发环境
2.1开发工具说明
WINTC是一个TC2WINDOWS平台开发工具,该软件使用TC2为内核,提供WINDOWS平台的开发界面,支持WINDOWS平台下的功能,如剪切、复制、粘贴和查找替换等。
而且在功能上也有它的独特特色例如语法加亮、C内嵌汇编、自定义扩展库的支持等。
并在编程过程中提供一组相关辅助工具。
该软件的主要优点有:
1.由于WINTC是WINDOWS程序,所以在其中进行鼠标操作,程序段的复制,中文输入输出等功能变得非常方便。
2.支持字体大小的调整和C程序中各种关键字符的变色显示。
3.WINTC消除了初学者设置工作目录的烦恼,自动设置好工作目录,程序编写好之后就可以直接编译运行。
4.中文界面,提示出错信息也是中文的,支持在运行结果中显示中文,这样在程序中就可以输出中文的提示语句了。
2.2系统运行环境说明
1.硬件环境
处理器:
InterPentium166MX或更高
内存:
32MB以上
硬盘空间:
1GB以上
显卡:
SVGA显示适配器
2.软件环境
操作系统:
Windows98/ME/2000/XP/VISTA/WIN7
英语词典软件系统分析
3.1可行性研究
可行性研究也称为可行性分析,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
该系统的可行性分析包括以下几个方面的内容。
3.1.1技术可行性
WIN-TC是一个TC2WINDOWS平台开发工具。
该软件使用TC2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。
而且在功能上也有它的独特特色例如语法加亮、C内嵌汇编、自定义扩展库的支持等。
并提供一组相关辅助工具令你在编程过程中更加游刃有余,如虎添翼。
本软件用于编写C语言程序。
WIN-TC简繁双语版可以正常运行于98及其以上的简体及繁体WINDOWS操作系统上。
WIN-TC是TurboC2.0(简称TC2.0)的一种扩展形式,是在TC2.0的基础上,增强了系统的兼容性和共享性,允许进行复制粘贴的多项可以用鼠标来操作的功能,比TC2.0使用起来方便。
运用该软件可以实现英语词典包括查找单词的中文意思,增加单词,删除单词,退出系统等功能。
3.1.2经济可行性
学习英语离不开词典,要学好和掌握英语,使用英语词典是主要方法之一。
随着科学技术的发展,传统的字典由于携带不方便,词汇量受限等等原因,使用者减少很多,而英语词典软件解决了这些问题,让人们能更加方便的学习英语。
3.1.3操作可行性
操作非常简单,只要进入界面,然后可以按照自己的需要选择相应的界面进行输入自己要查找的单词,添加新单词以及删除不需要的单词等相关操作,操作非常方便。
从法律方面来说该系统完全可行。
3.2英语词典软件需求分析
这是一个拥有50个词汇量的英语电子小字典,它利用结构体存放单词库,有较好的可扩充性,具有查找单词中文意思以及词性、添加字典单词、删除字典单词等功能。
(1)查找单词中文意思以及词性
用户输入想要查找的单词,并按回车,该词典便会自动搜索与用户键入单词一样的单词,并将其连同中文意思,词性等打印出来,如果在字典库里面找不到与之相匹配的英语单词,则打印输出“thereisnotthiswordinthevocabulary!
!
”
(2)添加字典单词库
为了扩充单词库的内容,该软件添加了另一项功能,添加单词库单词功能,该功能所执行的任务是:
从键盘上输入单词内容并保存在内存上,用户只需键入要添加位置,并敲进单词的内容便可。
(3)删除字典单词
该功能实现的是删除不想要的单词,以及它对应的词性,中文意思,等等。
(4)查找相近单词
该部分执行的功能是当用户打入某个英文单词的开头时,软件将自动把所有与用户所敲进单词开头相同的单词打印出来。
例如,当用户敲进“go”时,电脑将打印出“go”“good”“goodmorning”
(5)作者介绍以及软件介绍
该功能主要是向用户介绍该软件制作者,以及该软件的使用方法。
(6)退出系统
这功能执行的是结束软件的进程。
开始
查找函数
查找相近函数
删除函数
添加单词
作者介绍
退出系统
英语词典软件系统设计
4.1总体设计
4.1.1大致流程图
图4-1
4.2详细设计
(1)查找函数
流程图如下:
开始
从键盘输入要查找的word
i==0
strcmp(word.str[].english)==0
N
Y
打印
English,cixing,means
结束
i<=0,i++
i==100
打印
Thiswordisnotwordinthedictionary
图4-2
(2)查找相近函数
流程图如下:
开始
定义两个数组s1,s2
输入两个比较单词
i==0
fatecmp(b.stu[i].english)==0
i=count
I++
N
打印
stu[i].english
Y
结束
图4-3
(3)fatecmp模糊比较函数
流程图如下:
开始
i==0
s1[i]!
=s2[i]
S[i]!
='\0',i++
N
return0
return1
Y
图4-4
(4)删除函数
流程图如下:
开始
输入要删除的单词
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--
输出所有单词
图4-5
(5)添加函数
流程图如下:
开始
输入要添加的单词位置
i==51
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--
打印添加的单词
图4-6
(6)作者介绍
流程图如下:
开始
打印作者内容
结束
图4-7
4.3界面设计
1.充分考虑界面易于操作的系统需求,单词查询和添加单词等功能需求采用类似于菜单的功能选择方式实现。
具体功能选择界面设计效果图如图所示。
图4-8
2选择相应选项时,表示选择选择相应的功能
(1)选择1,查找英语单词
图4-9
(2)添加英语单词
图4-10
(3)删除单词
图4-11
(4)查找形近单词
图4-12
(5)作者介绍
图4-13
英语词典软件的编码和测试
5.1编码
5.1.1结构体
代码开头定义了一个结构体structwords,存放字典单词库.该结构体里面包含:
english,cixing,means三部分内容。
并定义了一个全局变量count=52,表示单词表中总共存放了52个单词.具体代码如下:
#include
#include
#include
intcount=52;
structwords
{
charenglish[20];
charcixing[20];
charmeans[20];
}
stu[100]={{"very","prep","feichang"},{"good","adj","haode"},{"beautiful","adj","paioliangde"},{"I","n","wo"},{"me","n","wode"},{"hand","n","shou"},{"congratulation","adj","zhuhe"},{"man","n","nanren"},{"handsome","adj","shuai"},{"pretty","adj","junqiaode"},{"fuck","adj","made"},{"mother","n","mama"},{"father","n","baba"},{"morning","n","zaoshang"},{"well","adv","haode"},{"went","v","zou"},{"how","adv","zenyang"},{"where","adv","nali"},{"chick","n","jirou"},{"duck","n","ya"},{"kiss","v","jiewen"},{"home","n","jia"},{"mail","n","youjian"},{"net","n","wang"},{"internet","n","hulianwang"},{"dream","n","mengxiang"},{"boy","n","nanhai"},{"computer","n","diannao"},{"female","n","nvsheng"},{"goods","n","huoping"},{"girl","n","nvhai"},{"screen","n","pingmu"},{"love","v","ai"},{"sex","n","xing"},{"pitty","adj","kexide"},{"fall","v","diaoxia"},{"in","prep","zailimian"},{"out","prep","waimian"},{"time","n","shijian"},{"language","n","yuyan"},{"window","n","chuangkou"},{"learn","v","xuexi"},{"share","v","gongxiang"},{"shift","v","zhuanhuan"},{"sound","n","shengyin"},{"medicine","n","yao"}