电子词典程序设计.docx

上传人:b****6 文档编号:6284825 上传时间:2023-01-05 格式:DOCX 页数:9 大小:38.15KB
下载 相关 举报
电子词典程序设计.docx_第1页
第1页 / 共9页
电子词典程序设计.docx_第2页
第2页 / 共9页
电子词典程序设计.docx_第3页
第3页 / 共9页
电子词典程序设计.docx_第4页
第4页 / 共9页
电子词典程序设计.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

电子词典程序设计.docx

《电子词典程序设计.docx》由会员分享,可在线阅读,更多相关《电子词典程序设计.docx(9页珍藏版)》请在冰豆网上搜索。

电子词典程序设计.docx

电子词典程序设计

电子词典程序开发

一、需求分析

(1)程序的功能英汉词典作为一个常用的学习工具,是我们经常要使用的。

该系统能完成一个简单的电子英汉词典的功能,如:

单词的查找、增词、删除、修改和维护等工作。

在计算机中建立有限规模的电子英汉词典(文件),利用程序实现电子英汉词典的查找、增词、删除、修改和维护工作。

词典的内容为:

每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格符分开;前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。

对单词和释义字符串长度的限定分别为不少于10个与15个字符,词条数限定为不多于1000条。

(2)输入输出的要求。

采用菜单工作方式。

在一个操作执行之后,程序询问是否继续执行该操作。

如输入Y或y,则重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待另一次选择。

仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。

要求整个设计以人为本,用户界面友好。

二、总体设计

1、程序共有五个子函数和一个主函数。

1.search是查找函数,用户通过系统提示输入要查找的单词,只要单词库中含有此单词便能找到相应的中文解释。

这个查找函数使用的是从头到尾的线性查找发,虽然查找效率在数据很大上午时候无法容忍的。

但是因为这里涉及的数据量很小,使用线性查找对系统性能没有很大上午损害。

2.add是增加函数,用户可通过此函数来增加单词库单词的数量。

3.modify是修改函数,程序提示用户输入要修改的单词,还是用线性查找的方法查找相应的纪录,如果找到,则提示输入新单词及中文解释。

4.delete是删除函数,程序提示用户输入要删除的单词,使用线性查找的方法找到相应的纪录,如果找到,提示用户确认删除才做。

在得到确认后,删除这个单词的纪录。

5.主程序通过无限循环来接收输入的命令,并且根据命令调用相应的函数处理。

2、课题中涉及到的数字主要是英文单词,和数据1-4,它们都属于字符型数据,它们的结果还应该是字符型。

 

三:

详细设计

四、调试分析与设计体会:

1、输入1就是添加新的单词,输入2是删除已有的单词,输入3是查找要找的单词,它包括两种方法,1:

是输入英语找单词,2:

是输入汉语找单词,输入4是退出程序。

2、感谢老师让我有机会再次学习C语言.我们这次设计的课题是电子英汉词典的设计,通过这次的程序设计,知道了自己以前在学习C语言方面的不足,光是书本上的知识是不够的,自己编写出程序也是学习过程中相当重要的一环,以前学习过程中出现的问题在这次课题设计中全都暴露出来.例如:

对知识的掌握不牢,程序的理解不透彻等等.所以,我不得不再翻开课本以巩固以前学过的知识,这让我有效的弥补了知识的漏洞.

一开始我就对C语言很感兴趣。

我觉得每每听完一堂课,我都有一种说不出的高兴,有时也会发愁,因为课程越往后越难学而且讲课进度再加快,但我没有退缩,每天坚持看C语言。

就这样一步步走到课程设计。

虽然在这个实习周里的语言设计遇到了很多困难,但我并没有退缩,找同学老师帮着改正错误,终于完成了,使自己尝到了成功的甜头。

希望学校继续给我们这样的学习机会。

五、参考文献:

《C语言程序设计》主编谭浩强清华大学出版社2005年7月

《C语言程序设计实验指导与习题解答》主编谭浩强清华大学出版社2005年7月

《计算机软件基础》主编麦中凡苗明川何玉洁高等教育出版社2007年3月

六、原程序设计清单:

#include

#include

main()

{staticintn=32;

charm;

struct

{

chareng[10];

charci[15];

charyin[10];

charchi[30];

}word[1000]={{"good","a","goud","hao"},

{"aide","n","eid","zhushou"},

{"bone","n","boun","gutou"},

{"ball","n","bo:

","qiu"},

{"cat","n","cat","mao"},

{"cattle","n","katl","niu"},

{"clean","adj+d+v","kli:

n","1.ganjin2.gongzheng"},

{"a","num","ei","yige"},

{"finally","ad","fai'nens","zuizhong"},

{"fine","adj+ad+v+n","fain","1.shushi2.hao"},

{"finish","v+n","finish","wancheng"},

{"girl","n","ge:

l","nvhai"},

{"five","v","giv","gei"},

{"go","n+v","gou","zou"},

{"help","int+n","help","bangzhu"},

{"he","pron","hi:

","ta"},

{"here","ad+ini","hie","zheli"},

{"high","aadj+ad+n","hai","gao"},

{"ice","n","ais","bing"},

{"idea","n","ai'die","zhuyi"},

{"imagine","v","i'madgin","xiangxiang"},

{"in","v","in:

","zailimian"},

{"kill","v","kil","shasi"},

{"king","n","king","guowang"},

{"kiss","v+n","kis","wen"},

{"knight","n+v","nait","qishi"},

{"late","adj+ad","leit","1.chide2.yihoude"},

{"left","adj+ad+n","left","zuobian"},

{"line","n+v","lain","xian"},

{"name","n+v","neim","mingzi"},

{"mission","v","mision","rengwu"}};

clrscr();

loop:

for(;;)

{clrscr();

printf("\n\t****Pleasemakeachoise****\n");

printf("\n\n\t1.Addthenewword\n");

printf("\t2.Delword\n");

printf("\t3.findword\n");

printf("\t4.Exittheprocess\n\n");

printf("Pleasechoose1~4toenter\n");

printf("Pleasepressthekey:

");

scanf("%c",&m);

switch(m)

{

case'1':

{

charj[10],k[15],l[10],p[30];

++n;

printf("\nAddnewword");

printf("\n\npleaseentertheDanci:

");

scanf("%s",j);

printf("\nEntertheCixing:

");

scanf("%s",k);

printf("\nEntertheYingbiao:

");

scanf("%s",l);

printf("\nEntertheChinese:

");

scanf("%s",p);

strcpy(word[n].eng,j);

strcpy(word[n].ci,k);

strcpy(word[n].yin,l);

strcpy(word[n].chi,p);

printf("\nPleasecheckit:

");

printf("\n\nEnglish.%s",word[n].eng);

printf("\n\nCixing:

%s",word[n].ci);

printf("\n\nYinbiao:

%s",word[n].yin);

printf("\n\nChinese:

%s\n\n",word[n].chi);

printf("\nPleasepressanykeywithEnterkeyback!

");

scanf("%s",m);

}gotoloop;

 

case'2':

{

charr[10];

ints,t,u,z=0,x=0;

printf("PleasepresstheEnglishyouwanttodel:

");

scanf("%s",r);

for(s=0;s<=n;s++)

{

if(s<=n-1)

{

if(strcmp(word[s].eng,r)==0)

{

x=1;

for(t=s;t

{

strcpy(word[t].eng,word[t+1].eng);

strcpy(word[t].ci,word[t+1].ci);

strcpy(word[t].yin,word[t+1].yin);

strcpy(word[t].chi,word[t+1].chi);

}

}

 

}

else

{if(strcmp(word[n].eng,r)==0)

z=1;

else

z=0;

}

}

if(z==1||x==1)

{

printf("\n\nDelsucessful!

!

\n");

n--;

printf("\nPleasepressanykeywithEnterkeyback!

");

scanf("%s",m);

}

else

{

printf("\n\nDelfailed!

!

");

printf("\nPleasepressanykeywithEnterkeyback!

");

scanf("%s",m);

}

}

break;

case'3':

{

intl;clrscr();

printf("\n\nSearchtheword\n");

printf("1.SearchbyEnglish:

\n");

printf("2.SearchbyChinese:

\n");

printf("Otherkeyback\n");

printf("Pleasechooseone:

");

scanf("%d",&l);

switch(l)

{case1:

{charr[10],m[1];ints;

printf("\nPleaseentertheEnglishword:

");

scanf("%s",r);

for(s=0;s<=n;s++)

{

if(s<=n-1)

if(strcmp(word[s].eng,r)==0)

break;

else

continue;

else

if(strcmp(word[n].eng,r)==0)

break;

else

{

charm[1];

printf("\nNothisword!

!

\nPleasepressanykeywithEnterkeyback!

");

scanf("%s",m);

gotoloop;

}

}

printf("\n\nEnglish.%s",word[s].eng);

printf("\n\nCixing:

%s",word[s].ci);

printf("\n\nYinbiao:

%s",word[s].yin);

printf("\n\nChinese:

%s",word[s].chi);

printf("\n\n\nPleasepressanykeywithEnterkeyback!

");

scanf("%s",m);

}gotoloop;

case2:

{charr[10],m[1];ints;

printf("\nPleaseentertheChinese:

");

scanf("%s",r);

for(s=0;s<=n;s++)

{if(s<=n-1)

if(strcmp(word[s].chi,r)==0)

break;

else

continue;

else

if(strcmp(word[n].chi,r)==0)

break;

else

{

charm[1];

printf("\nNothisword!

!

\nPleasepressanykeywithEnterkeyback!

");

scanf("%s",m);

gotoloop;

}

}

printf("\nEnglish.%s",word[s].eng);

printf("\n\nCixing:

%s",word[s].ci);

printf("\n\nYinbiao:

%s",word[s].yin);

printf("\n\nChinese:

%s",word[s].chi);

printf("\n\n\nPleasepressanykeywithEnterkeyback!

");

scanf("%s",m);

default:

gotoloop;break;}

}

}

case'4':

exit(0);

default:

break;

}

}

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1