英汉小词典课程设计报告_第1页
英汉小词典课程设计报告_第2页
英汉小词典课程设计报告_第3页
英汉小词典课程设计报告_第4页
英汉小词典课程设计报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、百度寸库-百度寸库-让每个人平等地提升自我 英汉小词典1设计内容及要求设计内容(1)、在计算机中建立有限规模的电子英汉词典(文件),利用程序实现电子英汉词典的查询、增词、删除、修改和维护工作。(2)、词典的内容为:每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格符分开;前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。(3)、对单词和释义字符串长度的限定分别为不少于20个与40个字符,词条数限定为不多于200条。(4)、采用菜单工作方式。在一个操作执行之后,程序询问是否继续执行该操作。如输入A或a,则重复同一操作,不退回到菜单;如输入其

2、它信息,则回到菜单等待另一次选择。仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。设计任务及具体要求主要利用c语言的文件操作能力设计开发一个英汉小词典,至少具有如下功能:查询、删除、增词、修改单词。操作界面要符合用户的一般习惯,图形或文本界面都可以。要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。2概要设计系统的功能简介用户可以通过本系统查询单词以及释义,修改,新增

3、以及删除词条。用户在使用电子词典的时候,有可能会使用电子词典的查询功能,也有可能使用电子词典的轻松背单词功能,当用户需要查询的时候,系统必须提供这个单词的所有信息,以便与用户获得所需要的信息;可以自定义单词,使用户自己可以新增词条,扩充词库。输入与输出的要求:当用户使用查询功能时,系统必须显示词条与释义;当用户觉得本词条存在不足,需要修改时,系统必须提供修改的词条与释义,以及用户输入的内容,修改完成时,提示按确认结束,删除单词时显示要删除的词条与释义,以及词条已删除。总体程序框图图A总体设计图B详细设计3设计过程或程序代码对关键代码加以分析说明:(一)菜单显示:intmain(intargk,

4、char*argh)intm=0;if(argk1)strcpy(fileDict,argh1);elsestrcpy(fileDict,c:);for(;)printf(n欢迎使用电子英汉小词典!nn-1-查询词条n-2-新增词条n);n-3-删除词条n-4-修改词条n-5-退出词典n-m=getchar()-0;n);switch(m)Search();break;Append();break;Delete();break;Update();break;default:return0;return0;(二)查询词条:voidSearch(void)Projecti;fpos_tp=0;me

5、mset(&i,0,szProject);printf(pleaseinputthewordyouwant:);scanf(%s,);p=consult,;if(p=0)printf(sorrydonotfindwhatyouwant!n);return;printf(单词:%sn释义%s,);(三)新增词条:voidAppend(void)Projecti;FILE*f=0;fpos_tp=0;memset(&i,0,szProject);printf(pleaseinputthewordyouwant:);scanf(%s,);p=consult,0);if(p)printf(sorryd

6、onotfindwhatyouwant!n);return;printf(pleasegivingthemeaning,按确认结束);fflush(stdin);gets;f=fopen(fileDict,ab);fwrite(&i,szProject,1,f);fclose(f);printf(词条已新增n);(四)删除词条:voidDelete(void)Projecti;FILE*f=0;fpos_tp=0;memset(&i,0,szProject);printf(pleaseinputthewordyouwant:);scanf(%s,;p=consult,0);if(p=0)pri

7、ntf(sorrydonotfindwhatyouwant!n);return;P-;memset(&i,0,szProject);f=fopen(fileDict,rb+);fsetpos(f,&p);fwrite(&i,szProject,1,f);fclose(f);printf(词条已删除n);(五)修改词条:voidUpdate(void)Projecti;FILE*f=0;fpos_tp=0;memset(&i,0,szProject);printf(pleaseinputthewordyouwant:);scanf(%s,;p=consult,0);if(p=0)printf(s

8、orrydonotfindwhatyouwant!n);return;P-;printf(pleasegivingthemeaning,按确认结束(输入drop放弃修改):);fflush(stdin);gets;if(strstr,drop)printf(E放弃修改!n);return;f=fopen(fileDict,rb+);fsetpos(f,&p);fwrite(8ii,szProject,l,f);fclose(f);printf(词条已保存n“);程序运行界歹进入菜单卬选项:1查询词条,2新护音询的单词,瞰!”,。输入2,按回车键,输入你想要新增词条,输入你要新增的单词,如at”

9、,按回车输入释义猫,如果系统存在本词条,则会输出sorrydonotfindwhatyouwant!”输入3,按回车键,输入你想删除的词条,按回车会输出词条已删除。输入5,退出词典。4程序设计结果与分析当把程序写好并进行调试时,并不是一帆风顺的,总会遇到很多在调试时遇到的错误。.首先在定义函数时,不能输入汉字。否则会程序会显示错误。.如果要调用查询函数,增词函数,删除函数,修改函数等要在主函数前面进行申明,否则会显示警告。.如果程序在运行的过程中,对于一个循环语句,如果你返回的值始终是真的,那么程序将进如死循环。.对应该有花括弧的复合语句,忘记加花括弧。.所调用的函数在调用语句之后才定义,而又

10、在调用前未加说明。5心得在本课程设计的设计过程中,我体会到了从事c语言课程设计工作需要严谨、认真的态度和作风,半点都不能马虎。每个细微的小细节都必须十分注意,如果不认真思考,就会出现或大或小的错误。如果没有发现前面的错误,对后面的工作影响就会很大,甚至有时会推倒很多前面做的工作。有时候,我自己觉得我写的程序非常正确,但就是编译通不过,在查询错误的过程中,面临着否认自己的过程,感觉很痛苦。在设计过程中遇到的很多问题与麻烦,通过向同学请教与讨论后基本得到了解决,让我明白了团体的力量是巨大的,平时遇到问题要勇于与同学们和老师讨论,这样才能共同进步与学习,也只有这样才能进步的更快,同时也要敢于相信自己

11、的主见,也要考虑别人的想法和意见,不能一味的接受或者排斥,同时也不能太骄傲自大,要谦虚地向老师与同学请教,只有这样我才能不断的进步。在反反复复的学习中,我终于作出一个简单的程序,虽然这个程序的功能非常简单,而且在实际运用中还有些不足,比如:在查询词条后,按任意键会退出词典,这点还需要改进。在进行其他功能完成后,按任意键不会退出系统。致谢在这次C语言课程设计中,我的老师和同学给了我及大的帮助。特别是我的指导老师孙淮宁老师,还有我的C语言任课老师徐宁老师。在此,我对他们表示感谢!感谢他们在我面对困难时给了我帮助和支持。也感谢那些给我帮助的所有同学!参考文献:【1】谭浩强.C程序设计(第三版).清华

12、大学出版社.2005年:P219P363【2】胡超、闫玉宝.30天学通VisualC+项目案例开发.电子工业出版社.2009年:P228P273附录:源程序#include#include#include#defineszWORD50#defineszSTRN200#defineszProjectsizeof(structDictionary)charfileDictszSTRN;typedefstructDictionary/*声明新结构体类型名为Project*/charwordszWORD;charmeanszSTRN;Project;fpos_tconsult(char*word,ch

13、ar*mean)FILE*f=0;Projecti;intr=0;fpos_tp=0;if(!word)return0;f=fopen(fileDict,rb);/*以读的方式打开二进制文件*/if(!f)return0;while(!feof(f)/*指针是否指导文件末尾*/fgetpos(f,&p);r=fread(&i,szProject,1,f);/*读入数据的存放地址*/if(r1)strcpy(fileDict,argh1);/*文件复制*/elsestrcpy(fileDict,c:);/*文件复制*/for(;)printf(nn-欢迎使用电子英汉小词典!nn-1-查询词条n-

14、2-新增词条n-3-删除词条n-4-修改词条n-5-退出词典nn);m=getchar()-0;switch(m)Search();break;Append();break;Delete();break;Update();break;default:return0;return0;voidSearch(void)/*查询词条*/Projecti;fpos_tp=0;memset(&i,0,szProject);/*将结构体szProject的指定位置清零*/printf(pleaseinputthewordyouwant:);scanf(%s,);p=consult,;if(p=0)print

15、f(sorrydonotfindwhatyouwant!n);return;printf(单词:sn释义s,);voidAppend(void)/*新增词条*/Projecti;FILE*f=0;fpos_tp=0;memset(&i,0,szProject);/*将结构体szProject的指定位置清零*/printf(pleaseinputthewordyouwant:);scanf(%s,);p=consult,0);if(p)printf(sorrydonotfindwhatyouwant!n);return;printf(pleasegivingthemeaning,按确认结束);f

16、flush(stdin);/*清除标准输入设备(本程序中指键盘)的缓存*/gets;f=fopen(fileDict,ab);/*以向文件末尾添加数据的方式打开文件*/fwrite(&i,szProject,1,f);/*输出数据的地址*/fclose(f);/*关闭文件*/printf(词条已新增n);voidDelete(void)/*删除词条*/Projecti;FILE*f=0;fpos_tp=0;memset(&i,0,szProject);/*将结构体szProject的指定位置清零*/printf(pleaseinputthewordyouwant:);scanf(%s,;p=c

17、onsult,0);if(p=0)printf(sorrydonotfindwhatyouwant!n);return;p-;memset(&i,0,szProject);/*将结构体szProject的指定位置清零*/f=fopen(fileDict,rb+);/*以读写的方式打开二进制文件*/fsetpos(f,&p);fwrite(&i,szProject,1,f);/*输出数据的地址*/fclose(f);/*关闭文件*/printf(词条已删除n);voidUpdate(void)/*修改词条*/Projecti;FILE*f=0;fpos_tp=0;memset(&i,0,szProject);/*将结构体szProject的指定位置清零*/printf(pleaseinputthewordyouwant:);scanf(%s,;p=consult,0);if(p=0)printf(sorrydonotfindwhat

温馨提示

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

评论

0/150

提交评论