简易英汉词典C语言Word文档格式.docx
《简易英汉词典C语言Word文档格式.docx》由会员分享,可在线阅读,更多相关《简易英汉词典C语言Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
仅当选择退出系统时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。
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],199912
(1):
298-327
…
7、附录
源程序清单
8、书写格式及装订顺序
(1)课程设计报告要求用A4纸打印成册:
(2)小标题为:
黑体小4号(加粗):
正文为:
宋体5号。
行间距为固定值22。
(3)封面按学校统一规定。
⑷装订顺序:
封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
实验:
一、需求分析
(1)程序的功能英汉词典作为一个常用的学习工具,是我们经常要使用的。
在计算机中建立有限规模的电子英汉词典(文件),利用程序实现电子英汉词典的查找、增词、删除、修改和维护工作。
词典的容为:
每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格符分开;
前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。
对单词和释义字符串长度的限定分别为不少于10个与15个字符,词条数限定为不多于1000条。
采用菜单工作方式。
仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。
要求整个设计以人为本,用户界面友好。
二、总体设计
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<
stdio.h>
string.h>
main()
{staticintn=32;
charm;
struct
{
chareng[10];
charci[15];
charyin[10];
charchi[30];
}word[1000]={{"
good"
"
a"
goud"
hao"
},
{"
aide"
n"
eid"
zhushou"
bone"
boun"
gutou"
ball"
bo:
"
qiu"
cat"
mao"
cattle"
katl"
niu"
clean"
adj+d+v"
kli:
1.ganjin2.gongzheng"
num"
ei"
yige"
finally"
ad"
fai'
nens"
zuizhong"
fine"
adj+ad+v+n"
fain"
1.shushi2.hao"
finish"
v+n"
wancheng"
girl"
ge:
l"
nvhai"
five"
v"
giv"
gei"
go"
n+v"
gou"
zou"
help"
int+n"
bangzhu"
he"
pron"
hi:
ta"
here"
ad+ini"
hie"
zheli"
high"
aadj+ad+n"
hai"
gao"
ice"
ais"
bing"
idea"
ai'
die"
zhuyi"
imagine"
i'
madgin"
xiangxiang"
in"
in:
zailimian"
kill"
kil"
shasi"
king"
guowang"
kiss"
kis"
wen"
knight"
nait"
qishi"
late"
adj+ad"
leit"
1.chide2.yihoude"
left"
adj+ad+n"
zuobian"
line"
lain"
xian"
name"
neim"
mingzi"
mission"
mision"
rengwu"
}};
clrscr();
loop:
for(;
;
)
{clrscr();
printf("
\n\t****Pleasemakeachoise****\n"
);
\n\n\t1.Addthenewword\n"
\t2.Delword\n"
\t3.findword\n"
\t4.Exittheprocess\n\n"
Pleasechoose1~4toenter\n"
Pleasepressthekey:
scanf("
%c"
&
m);
switch(m)
case'
1'
:
charj[10],k[15],l[10],p[30];
++n;
printf("
\nAddnewword"
\n\npleaseentertheDanci:
"
scanf("
%s"
j);
\nEntertheCixing:
k);
\nEntertheYingbiao:
l);
\nEntertheChinese:
p);
strcpy(word[n].eng,j);
strcpy(word[n].ci,k);
strcpy(word[n].yin,l);
strcpy(word[n].chi,p);
\nPleasecheckit:
printf("
\n\nEnglish.%s"
word[n].eng);
\n\nCixing:
word[n].ci);
\n\nYinbiao:
word[n].yin);
\n\nChinese:
%s\n\n"
word[n].chi);
\nPleasepressanykeywithEnterkeyback!
%s"
m);
}gotoloop;
2'
charr[10];
ints,t,u,z=0,x=0;
PleasepresstheEnglishyouwanttodel:
r);
for(s=0;
s<
=n;
s++)
{
if(s<
=n-1)
{
if(strcmp(word[s].eng,r)==0)
x=1;
for(t=s;
t<
n;
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)
\n\nDelsucessful!
!
\n"
n--;
\n\nDelfailed!
printf("
scanf("
break;
3'
intl;
clrscr();
\n\nSearchtheword\n"
1.SearchbyEnglish:
2.SearchbyChinese:
Otherkeyback\n"
Pleasechooseone:
%d"
l);
switch(l)
{case1:
{charr[10],m[1];
ints;
\nPleaseentertheEnglishword:
for(s=0;
break;
continue;
if(strcmp(word[n].eng,r)==0)
charm[1];
\nNothisword!
gotoloop;
word[s].eng);
word[s].ci);
word[s].yin);
word[s].chi);
printf("
\n\n\nPleasepressanykeywithEnterkeyback!
}gotoloop;
case2:
\nPleaseentertheChinese:
for(s=0;
{if(s<
if(strcmp(word[s].chi,r)==0)
else
if(strcmp(word[n].chi,r)==0)
\nEnglish.%s"
default:
break;
}
4'
exit(0);
default:
break;
}