- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言活学活用之自编辞书
仿真查英语字典程序
----《C语言程序设计》
课
程
设
计
【摘要】【关键词】
1.算法分析
(1)、当程序运行时,运用文件指针打开一个词库,并把文件内容读入结构体数组中,以便于下面程序的调用。
1).search是查找函数,用户通过系统提示输入要查找的单词,只要单词库中含有此单词便能找到相应的中文解释。这个查找函数使用的是从头到尾的线性查找发,虽然查找效率在数据很大的时候无法容忍的。但是因为这里涉及的数据量很小,使用线性查找对系统性能没有很大的损害。
2).主程序通过无限循环来接收输入的命令,并且根据命令调用相应的函数处理。
3).输入1是查找要找的单词,查找方法是:1.是输入英语找单词,输入其他任意键都是退出程序。
4).在查找的程序中,采用了单词(字符串)的比较,如果两单词(字符串)相等,则输出这单词,否则输出提示信息。
(2)、课题中涉及到的数字主要是英文单词,和数据1-2,它们都属于字符型数据,它们的结果还应该是字符型。
(3)、程序的功能 :
该系统能完成一个简单的电子英汉词典的功能,如:单词的查找。在计算机中建立有限规模的电子英汉词典(文件),利用程序实现电子英汉词典的查找。词典的内容为:每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格符分开;前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。对单词和释义字符串长度的限定分别为不少于10个与15个字符,词条数限定为不多于478条。
(3)、输入输出的要求:
采用菜单工作方式。在一个操作执行之后,程序询问是否继续执行该操作。如输入Y或y,则重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待另一次选择。仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。要求整个设计以人为本,用户界面友好。
2、实现这个算法的技术难点
数据字典
在本次课程设计中所用到的数字1到2都为字符变量,以及定义的各变量都为各指定的类型。
5.主要操作界面
开发环境:WIN-TC
三.结论
1.通过这一周的课程设计的学习,让我找回了一些忘记或不太清楚的知识点,也让自己更多的对C语言有了更进步的了解。但在这次课程设计中,也存在很多的不足,对知识的掌握不牢固或不理解。经过这次自己相对独立的操作,才发现自己的许多不足。经过一次次的学习,让自己更多的了解自己
2.本次课程设计中,主要存在许多不完善的地方,电子词典实现的功能不多,就一个查找的功能,电子词典的其他运用,还需要很多的设计和改善。
3.感谢老师的精心的教诲和严格的要求,并多次的指导,让我们认真学习C语言.我这次设计的课题是仿真查英语字典程序,也是电子词典的一般应用。我搜集很多关于这课题的资料,进行分析,调试。多次的修改和改进。最后,成功的完成了课题。.通过这次的程序设计,我知道了自己以前在学习C语言方面的不足,光是书本上的知识是不够的,自己编写出程序也是学习过程中相当重要的一环,以前学习过程中出现的问题在这次课题设计中全都暴露出来.例如:对知识的掌握不牢,程序的理解不透彻等等.所以,我不得不再翻开课本以巩固以前学过的知识,这让我有效的弥补了知识的漏洞.
4.最后,预祝老师,合家欢乐!春节快乐!
四、参考文献
1.《C语言程序设计》 主编 蒋清明 人民邮电出版社 2005年12月
2.《C语言程序设计实验指导与习题解答》主编 蒋清明 人民邮电出版社2005年2月
附录
(源程序清单)
#include stdio.h
#include string.h
#include stdlib.h
struct WORD
{
char eng[10];
char ci[15];
char chi[30];
}word[478];
main()
{
static int n=32;
FILE *fp;
int i=0;
char m;
if((fp=fopen(ciku.txt,r))==NULL)
{
printf(Cant open file\n); exit(0);
}
else
while(!feof(fp))
{
fscanf(fp,%s%s%s,word[i].eng,word[i].ci,word[i].chi);
i++;
}
clrscr();
loop:
for(;;)
{
clrscr();
printf(\n\n\t************************************************************);
pri
文档评论(0)