英汉电子词典设计报告 设计 C语言 C语言程序设计_第1页
英汉电子词典设计报告 设计 C语言 C语言程序设计_第2页
英汉电子词典设计报告 设计 C语言 C语言程序设计_第3页
英汉电子词典设计报告 设计 C语言 C语言程序设计_第4页
英汉电子词典设计报告 设计 C语言 C语言程序设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计课程名称 c语言程序课程设计 题目名称 电子英汉词典_学生学院 自动化学院专业班级 自动化09级03班学 号 _3209001589_学生姓名 何静贤指导教师 李忠娟 2010年3月4日广东工业大学课程设计任务书题目名称 电子英汉词典学生学院 自动化学院专业班级 自动化09级03班学 号 _3209001589_学生姓名 何静贤_一、 课程设计的内容 题目三十:电子英汉词典设计一、问题描述:英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子英汉词典的功能,如:单词的查找、增词、删除、修改和维护等工作。二、功能描述:1、在计算机中建立有限规模的电子英汉词典(文

2、件),利用程序实现电子英汉词典的查找、增词、删除、修改和维护工作。2、词典的内容为:每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格符分开;前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。3、对单词和释义字符串长度的限定分别为不少于20个与40个字符,词条数限定为不多于200条。4、采用菜单工作方式。在一个操作执行之后,程序询问是否继续执行该操作。如输入y或y,则重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待另一次选择。仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。5、要求整个设

3、计以人为本,用户界面友好。二、课程设计的要求与数据1、进一步掌握和利用c语言进行程设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或n-s图表示算法;6、掌握书写程序设计开发文档的能力。二、 课程设计应完成的工作1) 设计程序2) 进行调试与运行3) 完成设计报告4) 答辩四、课程设计进程安排序号设计各阶段内容地点起止日期下达任务书,说明设计要求,收集资料实验3#5133.1总体方案设计、详细设计实验3#5133.2编写程序调试分析实验3#5133.3撰写报告并上交,答辩实验3#513

4、3.5五、应收集的资料及其主要参考文献 谭浩强程序设计(第三版)北京:清华大学出版社,2005年9月 谭浩强程序设计题解与上机指导(第三版)北京:清华大学出版社,2005年月 3 陈国章 turbo c程序设计技巧与应用实例天津科学技术出版社,1995,5 4 廖雷 c语言程序设计习题解答及上机指导(第2版) 高等教育出版社发出任务日期:2010年3月1日指导教师签名:计划完成日期:2010年3月5日基层教学单位责任人签名:目录. 设计目的与要求5. 总体设计6. 详细设计6.调试分析8.总结10.附录10.答辩记录(正文处留出适当空白)14.指导教师意见(正文处留出适当空白)15. 目的与要

5、求一 设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,在下述各方面的能力应该得到锻炼:1) 对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 2) 掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。3) 熟练掌握c语言的基本语法,灵活运用各种数据类型。4) 进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。二 设计和调试过程规范化要求1、需求分析分析系统功能需求以及用户操作流程。2、概要设计在需

6、求分析的基础上,确定系统总体框架(系统功能结构图)。3、详细设计定义数据存储结构,并设计实现系统功能的具体算法,画出各算法的ns流程图。4、代码设计根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返回到主菜单,继续选择其他功能执行。源程序要求书写规范,结构清晰。5、程序调试程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。如果程序不能正常运行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存

7、在的问题,并加以分析和改正。如果程序能够基本正确地运行,可考虑增加若干基本的容错功能(如避免用户操作错误时程序出现死循环等);另外尽量对现有算法给出改进方案,并比较不同算法之间的优缺点。. 总体设计大致思路框架图:查找功能添加功能删除功能修改功能主函数 3.详细设计显示菜单输入选项开始返回?返回?返回?执行查找函数search( )执行添加函数creat( )执行删除函数delete( )执行break语句退出= =1= =2= =3= =4= =5yyynnn4.调试分析 进入菜单页面以后,有四个选项,1.是查找单词;2.是增加单词;3.修改单词;4.,删除单词;5.退出菜单进入菜单,输入1

8、 ,按回车就会出现提示语,然后输入你想查询的单词,并按回车。如果程序里面存有这个单词就会输出这个单词和它的中文意思。如果不存在就提示你“no this word”。 输入2,按回车就进入增词的程序了。如果里面存储的单词达到200个了,就会提醒你“the dictionaryis full”。如果没有超过,那就引导你输入你想增加的单词及其意思。这样就增加了单词。 输入4,回车。在出现“please press the word you want to update”后面输进你想修改的单词,然后根据提示语输入单词及其意思,之后就会告诉你修改完成了。 输入5的过程有一些不理想的结果,输入5后,有时候

9、不断地执行同一个printf语句,只能强制关闭窗口,之前的工作就这样没了,不知道为什么,可能是程序tc3中包含c与c,它们之间冲突。我到现在还不懂就是怎么退出菜单。 5.附录#includechar word20040,meaning20040;int ch;main ()menu:printf(*menu*n); printf(1*searchn); printf(2*creatn); printf(3*deleten); printf(4*updaten); printf(5*exitn); printf(*n); printf(please make your choice from 1

10、 to 5n); scanf(%d,&ch); switch(ch) case 1:search(); break;case 2:creat(); break;case 3:dele(); break;case 4:update(); break;case 5:break;default:main(); int search() char temp40; char s,g; int a,b,d,i,j; printf(n please press the wordn); scanf(%s,temp); s=temp0; for(i=0,j=0;s!=0&j=40;)s=tempj; if(st

11、rcmp(wordij,s)=0) j+; else j=0; i+; d=j-1; if(strcmp(wordid,s)=0)printf(n); for(a=0;temp0!=0&a=40;a+) printf(%s,tempa); printf(n meansn); for(b=0;tempb!=0&b=40;b+) printf(%s,meaningib); loop1:printf(n*n); printf(do you want to continue;choose y or nn); scanf(%c,&g); switch(g) case y:search( ); break

12、; default:main(); elseprintf(no this wordn); goto loop1; int creat( ) int x,c; char t,g,neww40,newm40; t=0; printf(n); if (word2000=0) for(x=0;x=200;x+) if(strcmp(wordx0,t)=0) break; else continue; printf(n input the new wordn); scanf(%s,&neww40); printf(n input its meaningn); scanf(%s,&newm40); for

13、(c=0;newwc!=0&c=40;c+) wordxc=newwc; meaningxc=newmc; printf(n successn); else printf(n the dictionary is fulln); printf(*n); printf(do you want to continue; choose y or nn); scanf(%c,&g); switch(g) case y:creat( ); break; default:main(); int dele( ) char temp40,z,g,s; int d,i,j,q,k; printf(n please

14、 press the wordn); scanf(%s,temp); s=temp0; for(i=0,j=0;s!=0&j=40;) s=tempj; if(strcmp(wordij,s)=0) j+; else j=0; i+; d=j-1; if(strcmp(wordid,s)=0) printf(n are you sure to delete it;choose y or nn); scanf(%c,&z); switch(z)case y:q=i+1; for(;i200;i+,q+) for(k=0;k=40;k+) wordik=wordqk; meaningik=mean

15、ingqk; word2000=0; meaning2000=0; printf(n successn); printf(*nn); printf(do you want to continue; choose y or nn); scanf(%c,&g); switch(g) case y:dele(); break; default:main(); default:printf(*nn);printf(do you want to continue; choose y or nn);scanf(%c,&g); switch(g) case y:dele( ); break; default

16、:return(0); break; else printf(n no this wordn); printf(*nn); printf(do you want to continue; choose y or nn); scanf(%c,&g); switch(g) case y:dele( ); break; default:main(); int update( ) char temp40,s,g; int d,i,j,v; printf(n please press the word you want to updaten); scanf(%s,temp); s=temp0; for(

17、i=0,j=0;s!=0&j=40;) s=tempj; if(strcmp(wordij,s)=0) j+; else j=0; i+; d=j-1; if(strcmp(wordid,s)=0) char rw40,rm40; printf(n please input the word changedn); scanf(%s,rw); printf(n please input its meaningn); scanf(%s,rm); for(v=0;rwv!=0&v=40;v+) wordiv=rwv; meaningiv=rmv; printf(n successn); printf(*n); printf(do you want to con

温馨提示

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

评论

0/150

提交评论