英语字典软件的设计和实现.doc_第1页
英语字典软件的设计和实现.doc_第2页
英语字典软件的设计和实现.doc_第3页
英语字典软件的设计和实现.doc_第4页
英语字典软件的设计和实现.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

英语字典软件的设计和实现 摘 要 英语词典作为一种工具书,能够查找英语单词的中文意思,使我们更容易学习英语。学习英语离不开词典,要学好和掌握英语,使用英语词典是主要方法之一。随着科学技术的发展,传统的字典由于携带不方便,词汇量受限等等原因,使用者减少很多,在这种情况下,英语电子词典应运而生。本软件是用c语言编写的一款小型的英语电子词典软件,拥有50个词汇量。它利用结构体存放单词库,有较好的可扩充性,实现了查找单词中文意思、添加和删除单词及查找形近单词等功能。关键字:英语词典,c语言,单词库,查找目录摘 要i目录ii概述11.1英语词典软件概述11.2英语词典软件主要功能1软件开发环境12.1开发工具说明12.2系统运行环境说明1英语词典软件系统分析23.1可行性研究23.1.1技术可行性23.1.2经济可行性23.1.3操作可行性23.2英语词典软件需求分析3英语词典软件系统设计34.1总体设计34.1.1大致流程图34.2详细设计44.3界面设计8英语词典软件的编码和测试95.1编码95.1.1结构体95.1.2主函数105.1.3子函数finding125.1.4子函数near1125.1.5子函数fatecmp135.1.6删除函数dele135.1.7添加函数add145.1.8模块introduce145.1.9退出系统155.2系统测试155.2.1功能测试155.2.2测试用例的设计和结果分析16总结17参考文献1818概述1.1英语词典软件概述该软件是一个运行在windows平台下的小型英语词典软件,这是一个用c语言编写的,拥有词汇量为50个的英语小字典,它利用结构体存放单词库,有较好的可扩充性。1.2英语词典软件主要功能它实现的功能包括查找单词的中文意思,增加单词,删除单词,退出系统等,该软件主要用到的语句有switch,for,while,if,strcmp等!(注:该软件是用win-tc软件编译,因此在xp32位系统和win764位系统下无法运行中文dos环境)软件开发环境2.1开发工具说明wintc是一个tc2 windows平台开发工具,该软件使用tc2为内核,提供windows平台的开发界面,支持windows平台下的功能,如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独特特色例如语法加亮、c内嵌汇编、自定义扩展库的支持等。并在编程过程中提供一组相关辅助工具。该软件的主要优点有:1.由于wintc是windows程序,所以在其中进行鼠标操作,程序段的复制,中文输入输出等功能变得非常方便。2.支持字体大小的调整和c 程序中各种关键字符的变色显示。3.wintc消除了初学者设置工作目录的烦恼,自动设置好工作目录,程序编写好之后就可以直接编译运行。4.中文界面,提示出错信息也是中文的,支持在运行结果中显示中文,这样在程序中就可以输出中文的提示语句了。2.2系统运行环境说明 1.硬件环境 处理器:inter pentium 166 mx或更高 内存:32mb以上 硬盘空间:1gb以上 显卡:svga显示适配器 2.软件环境 操作系统:windows 98/me/2000/xp/vista/win7英语词典软件系统分析3.1可行性研究可行性研究也称为可行性分析,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。3.1.1技术可行性win-tc是一个tc2 windows平台开发工具。该软件使用tc2为内核,提供windows平台的开发界面,因此也就支持windows平台下的功能,例如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独特特色例如语法加亮、c内嵌汇编、自定义扩展库的支持等。并提供一组相关辅助工具令你在编程过程中更加游刃有余,如虎添翼。本软件用于编写c语言程序。win-tc简繁双语版可以正常运行于98及其以上的简体及繁体windows操作系统上。win-tc是turbo c 2.0(简称tc2.0)的一种扩展形式,是在tc2.0的基础上,增强了系统的兼容性和共享性,允许进行复制粘贴的多项可以用鼠标来操作的功能,比tc2.0使用起来方便。 运用该软件可以实现英语词典包括查找单词的中文意思,增加单词,删除单词,退出系统等功能。3.1.2经济可行性学习英语离不开词典,要学好和掌握英语,使用英语词典是主要方法之一。随着科学技术的发展,传统的字典由于携带不方便,词汇量受限等等原因,使用者减少很多,而英语词典软件解决了这些问题,让人们能更加方便的学习英语。3.1.3操作可行性操作非常简单,只要进入界面,然后可以按照自己的需要选择相应的界面进行输入自己要查找的单词,添加新单词以及删除不需要的单词等相关操作,操作非常方便。从法律方面来说该系统完全可行。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-14.2详细设计(1)查找函数流程图如下: 开始从键盘输入要查找的word i=0strcmp(word.str.english)=0ny打印english,cixing,means 结束 i=k,i- - 输出所有单词 图4-5(5) 添加函数 流程图如下: 开始输入要添加的单词位置 i= =51strcpy(stui.english,stui-1.english);strcpy(stui.cixing,stui-1.cixing);strcpy(stui.means,stui-1.means); i=k;i- -打印添加的单词 图4-6(6)作者介绍 流程图如下: 开始打印作者内容 结束 图4-74.3界面设计1. 充分考虑界面易于操作的系统需求,单词查询和添加单词等功能需求采用类似于菜单的功能选择方式实现。具体功能选择界面设计效果图如图所示。 图4-82选择相应选项时,表示选择选择相应的功能(1) 选择1,查找英语单词 图4-9 (2)添加英语单词 图4-10 (3)删除单词 图4-11(4)查找形近单词 图4-12(5) 作者介绍 图4-13英语词典软件的编码和测试5.1编码5.1.1结构体代码开头定义了一个结构体struct words,存放字典单词库该结构体里面包含:english,cixing,means三部分内容。并定义了一个全局变量count=52,表示单词表中总共存放了52个单词具体代码如下:#include #include #include int count=52; struct words char english20; char cixing20; char means20; stu100=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,ji rou,duck,n,ya,kiss,v,jiewen,home,n,jia,mail,n,youjian,net,n,wang,internet,n,hulianwang,dream,n,mengxiang,boy,n,nan hai,computer,n,dian nao,female,n,nv sheng,goods,n,huo ping, girl,n,nvhai,screen,n,pingmu,love,v,ai,sex,n,xing,pitty,adj,ke xi de,fall,v,diao xia,in,prep,zai li mian,out,prep,wai mian,time,n,shijian,language,n,yuyan,window,n,chuangkou,learn,v,xue xi,share,v,gong xiang,shift,v,zhuan huan,sound,n,sheng yin, medicine,n,yao,now,n,xian zai,help,v,bang zu,start,v,kai shi,paste,v,zhan tie,search,v,cha zhao,couse,n,ke cheng;5.1.2主函数 软件的主函数该软件主函数是由一个switch函数构成,通过switch函数调用各个子函数,从而实现,当键盘敲入选项的时候,选择向相应的功能在主函数中,我定义了五个子函数:finding,add,dele,near1,introduce.它们相应的功能是:查找,添加,删除,查找相近,介绍其次,主函数中还利用printf语句构建了一个软件的初始界面并在界面中明确如何使用该软件具体代码如下:void main() int in; void finding1(); /*调用查找函数*/ void add(); /*调用增加单词函数*/ void dele(); /*调用删除单词函数*/ void near1(); /*调用查找相似单词函数*/ void introduce(); printf( * n); printf(n); printf( huan ying shi yong xin hua zi dian n); printf( design by mia ); printf(n); printf(*n); printf( * n); printf( * * n); printf( * 1 cha zhao zhong wen yi si ji ci xing * n); printf( * * n); printf( * 2 tian jia xin dan ci * n); printf( * * n); printf( * 3 shan chu dan ci * n); printf( * * n); printf( * 4 cha zhao xing jin dan ci * n); printf( * * n); printf( * 5 zuo zhe jie shao * n); printf( * * n); printf( * 6 tui chu * n); printf( * * n); printf( * n); for(;) scanf(%d,&in); switch (in) case 1: finding1();break; case 2: add();break; case 3: dele();break; case 4: near1();break; case 5: introduce();break; case 6: exit(0); 5.1.3子函数finding该子函数主要用到的语句是for语句跟比较函数strcmp。首先我定义了一个长度为20的字符串char word20,该字符串用来存放用户查找的单词。然后利用strcmp函数,与stui.english一一比较,当strcmp()=0时,则打印stui.english,stui.cixing,stui.means.当strcmp()!=0时候,执行for语句,也就是说,当strcmp()!=0时,执行i+,与单词库里的下一个英语单词进行比较。知道找到i52为止,如果还未找到,则打印 “there is no this word in the vocabulary!”具体代码如下: void finding1() /*查找函数*/ char word20; /*定义要找的单词*/ int i; printf(qing shu ru nin yao cha zhao de yin wen dan ci:); scanf (%s,word); /*输入要查找的单词*/ for(i=0;i100) printf(this word is not found in the dictionary!n); 5.1.4子函数near1该部分中调用了另外一个模糊比较函数(fatecmp()),从而实现,查找相近单词的功能。用户从键盘敲入单词或字母b,执行fatecmp(b,stui.english),当函数fatecmp()=0时,即已经找到相近的单词,则打印stui.english.然后继续执行for语句,执行i+,直至i=count.如果未能找到,也继续执行for语句。具体代码如下:void near1 () /*查找相近函数*/ int fatecmp(char *s1,char *s2); /*调用模糊函数*/ char b20; /*定义一个数组存放要查找的单词*/ int i,j; printf(qing shu ru ni yao cha zhao de xing jin dan ci:n); scanf(%s,b); for (i=0;icount;i+) if (fatecmp(b,stui.english)=0) printf(%sn,stui.english); 5.1.5子函数fatecmp定义两个字符数组s1,s2,独个比较字符串中的每个字符,直至遇到字符0为止。当s1!=s2,则return 1;否则return0。具体代码如下:int fatecmp(char *s1,char *s2) /*定义模糊比较函数*/ int i; for(i=0;s1i!=0;i+) /*当s1i!=0时i+*/ if (s1i!=s2i) /*直到i出来*/ return 1; return 0; 5.1.6删除函数dele该函数通过strcpy函数,将要删除的单词用它的下一个单词替代,以即利用 strcpy函数。将要删除单词的下一个单词替代到要删除单词的位置。具体代码如下:void dele() /*定义一个删除函数*/ int j,i; char k10; printf(shu ru yao shan chu de yin wen dan ci n); scanf(%s,k); for(j=k;j=51;j+) /*将第k个要删的函数附值*/ strcpy(stuj-1.english,stuj.english); /*找到要找的单词,然后用它的下一个单词替代原有的单词,实现查找删除功能*/ strcpy(stuj-1.cixing,stuj.cixing); strcpy(stuj-1.means,stuj.means); for(i=0;i51;i+) /*当i=k;i-) /*查找要插入的位置,并插入,后面的往后移一位*/ strcpy(stui.english,stui-1.english); strcpy(stui.cixing,stui-1.cixing); strcpy(stui.means,stui-1.means); printf(shu ru yin wen dan ci n); scanf(%s,stuk-1.english); printf(shu ru dan ci ci xingn); scanf(%s,stuk-1.cixing); printf(shu ru dan ci zhong wen yi sin); scanf(%s,stuk-1.means); printf( %s %s %sn, stuk-1.english,stuk-1.cixing, stuk-1.means); printf(you have add the word into the dictionary!) ; 5.1.8模块introduce一些printf语句,打印作者信息与软件介绍。具体代码如下: void introduce() printf( zhi zuo zhe cai liao n); printf( xue yuan : shu li yu xin xi xue yuan n); printf( ban ji : c08 ji suan ji 1 ban n); printf( xing ming: wu ying ya n); printf( xue hao : 081316140 n); printf( ruan jian jie shao n); printf(gai ruan jian shi yi ge yong you ci hui liang 50 ge de dan ci cha zhao ruan jian ,ta shi xian n); printf(de gong neng bao han cha zhao dan ci zhong wen yi si , zeng jia dan ci , shan chu dan cin); printf(tui chu xi tong deng gong neng , gai ruan jian zhu yao yong dao de shi switch , for n); printf(while,if,strcmp deng yu ju !n); 5.1.9退出系统通过库函数#include 中的exit(0)实现的。5.2系统测试信息技术深深融入业务生活,使得软件产品质量的要求变得很高。这也使我们为提高软件测试的效率来寻求各式各样的方法。而软件测试的方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:按测试阶段可分为:单元测试、集成测试、确认测试、系统测试在每个阶段,按测试的内容可分为:功能测试、性能测试、边界测试、余量测试、可靠性测试、安全性测试、强度测试、安装测试、恢复性测试、配置测试。测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品的内部过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。前一种方法称为黑盒测试,后一种方法成为白盒测试。5.2.1功能测试功能测试也称为黑盒测试,用于验证系统的各项功能是否能正常完成。由于实际情况的多样性,需要由多人重复测试,在不同情况下执行各项功能操作,其输出就是该功能的执行结果。黑盒测试发现下述类型错误:(1)功能不正确或遗漏了功能。(2)界面错误。(3)数据结构错误或外部数据库访问错误。(4)性能错误。(5)初始化和终止错误。5.2.2测试用例的设计和结果分析以查询单词为例:测试用例的设计和结果显示:1.输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论