课 程 设 计 报 告
课程名称
《C 语言程序设计》
课题名称
电子英汉词典设计与实现
专
班
学
姓
业
级
号
名
化学工程与工艺
化工 0501 班
03 号
唐
波
指导教师
杨子华 陈世清 李杰君
2007 年 1 月 7 日
湖南工程学院
课 程 设 计 任 务 书
课程名称 《C 语言程序设计》
课 题 电子英汉词典设计与实现
专业班级
学生姓名
学
号
化工 0501
唐 波
03 号
指导老师
杨子华 陈世清 李杰君
审
批
任务书下达日期 2006 年 12 月 29 日
任 务 完 成 日 期 2007 年 1 月 7 日
一 、 设 计 内 容 与 设 计 要 求
1.设计内容:
英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电
子英汉词典的功能,如:单词的查找、增词、删除、修改和维护等工作。
2.设计要求:
1)在计算机中建立有限规模的电子英汉词典(文件),本词典采用一个包含 N 个
数据的结构体数组,每个数据的结构应当包括:英文单词、词性、拼读音标、中
文(汉语拼音)。
2)对单词和释义字符串长度的限定分别为不少于 20 个词条。
3)本系统显示这样的菜单:
电子英汉词典
(1)输入新词汇
(2)删除词汇
(3)查找词汇
(4)修改词汇信息
(5)退出系统
4)采用菜单工作方式。在一个操作执行之后,程序询问是否继续执行该操作。如输
入 Y 或 y,则重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待另一
次选择。仅当选择退出系统时,程序应询问是否将修改后的词典存盘,并根据用户选
择存盘退出或不存盘退出。
5) 要求菜单美观大方简洁实用。
二、进 度 安 排
12.29: 课题讲解,查阅资料
12.30: 总体设计,详细设计
12.31: 编程,上机调试、修改程序
1.3-1.4:上机调试、完善程序
1.5:
答辩
1.6-1.7:撰写课程设计报告
附:
课程设计报告书写规范、书写格式及装订顺序
1、需求分析
(1)程序的功能。
(2)输入输出的要求。
2、总体设计
(1)程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的
功能。
(2)课题涉及的数据;即要存储什么数据,这些数据是什么样的类型,它们之间有什
么关系等。
3、详细设计
画出各模块的程序流程图。
4、调试分析以及设计体会
(1)测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有
错误的输入及输出结果。
(2)程序调试中遇到的问题以及解决问题的方法。
(3)课程设计过程经验教训、心得体会。
5、使用说明
用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。
6、参考书目(格式如下)
[1] 张明敏.图形图形图象文件格式解码使用程序.中国图象图形学报[J],1998,(5)
[2] 谭浩强. C语言程序设计(第二版).清华大学出版社[M], 1999 12(1): 298-327
…
7、附录
源程序清单
8、书写格式及装订顺序
(1)课程设计报告要求用 A4 纸打印成册:
(2) 小标题为:黑体小 4 号(加粗):正文为:宋体 5 号。行间距为固定值 22。
(3) 封面按学校统一规定。
⑷ 装订顺序:封面、任务书、目录、正文、评分、附件(A4 大小的图纸及程序清单)。
实验:电子英汉词典
一、需求分析
(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 年 12 月
《C 语言程序设计实验指导与习题解答》主编 蒋清明 人民邮电出版社 2005 年 2 月
六、附录:
原程序设计清单:
#include
#include
main()
{
static int n=32;
char m;
struct
{
char eng[10];
char ci[15];
char yin[10];
char chi[30];
}word[1000]={{"good","a","goud","hao"},