英汉小词典课程设计报告
- 格式:doc
- 大小:113.00 KB
- 文档页数:19
百度文库 - 让每个人平等地提升自我
0 学号
《高级语言程序设计》
课程设计报告
题目: 英汉小词典
专业: 计算机科学与技术
班级: 计科2班
姓名: XXXX
指导教师: XXX
成绩:
计算机与信息工程系
2013年06月28日 2012-2013学年 第二学期 百度文库 - 让每个人平等地提升自我
1 目录
1设计内容及要求.........................................3
设计内容.....................................................3
设计任务及具体要求...........................................3
2概要设计.........................................................4
系统功能简介.............................................4
总体设计框图.............................................4
3 设计过程或程序代码............................................5
对关键代码加以分析说明................................5
程序运行界面.......................................10
4 程序设计结果与分析...........................................12
5 心得.....................................................13
致谢...........................................................13
参考文献...........................................................13
附录:源程序.......................................................14
2 英汉小词典
1 设计内容及要求
设计内容
(1)、在计算机中建立有限规模的电子英汉词典(文件),利用程序实现电子英汉词典的查询、增词、删除、修改和维护工作。
(2)、词典的内容为:每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格符分开;前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。
(3)、对单词和释义字符串长度的限定分别为不少于20个与40个字符,词条数限定为不多于200条。
(4)、采用菜单工作方式。在一个操作执行之后,程序询问是否继续执行该操作。如输入A或a,则重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待另一次选择。仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。
设计任务及具体要求
主要利用c语言的文件操作能力设计开发一个英汉小词典,至少具有如下功能:查询、删除、增词、修改单词。操作界面要符合用户的一般习惯,图形或文本界面都可以。
要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识; 提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤; 提高撰写技术文档的能力。
3 2 概要设计
系统的功能简介
用户可以通过本系统查询单词以及释义,修改,新增以及删除词条。用户在使用电子词典的时候,有可能会使用电子词典的查询功能,也有可能使用电子词典的轻松背单词功能,当用户需要查询的时候,系统必须提供这个单词的所有信息,以便与用户获得所需要的信息;可以自定义单词,使用户自己可以新增词条,扩充词库。
输入与输出的要求:当用户使用查询功能时,系统必须显示词条与释义;当用户觉得本词条存在不足,需要修改时,系统必须提供修改的词条与释义,以及用户输入的内容,修改完成时,提示按确认结束,删除单词时显示要删除的词条与释义,以及词条已删除。
总体程序框图
图A总体设计
主函数
查询 增词 删除 修改 退出
4
图B详细设计
3 设计过程或程序代码
对关键代码加以分析说明:
(一)菜单显示:
int main(int argk,char *argh[])
{
int m=0;
if(argk>1) strcpy(fileDict,argh[1]);
else strcpy(fileDict,"c:\\");
for(;;)
{ 开始
显示菜单
执行查询函数
执行新增函数
执行删除函数
执行修改函数
退出词典
1 2 3 4 5
5 printf("\n\-----------欢迎使用电子英汉小词典!-----------\n\------------------------\n\-1-查询词条\n\-2-新增词条\n\-3-删除词条\n\-4-修改词条\n\-5-退出词典\n\--------------------\n");
m=getchar()-'0';
switch(m)
{
case 1: Search();break;
case 2: Append();break;
case 3: Delete();break;
case 4: Update();break;
default : return 0;
}
}
return 0;
}
(二)查询词条:
void Search(void)
{
Project i;
fpos_t p=0;
memset(&i,0,szProject );
printf("please input the word you want:");
scanf("%s", );
p=consult,;
if(p==0)
{
6 printf("sorry do not find what you want!\n");
return;
}
printf("单词:%s\n释义%s",, );
}
(三)新增词条:
void Append(void)
{
Project i;
FILE *f=0;
fpos_t p=0;
memset(&i,0,szProject);
printf("please input the word you want:");
scanf("%s", );
p=consult,0);
if(p)
{
printf("sorry do not find what you want!\n");
return;
}
printf("please giving the meaning,按确认结束");
fflush(stdin);
gets;
f=fopen(fileDict,"ab");
fwrite(&i,szProject,1,f);
fclose(f);
7 printf("词条已新增\n");
}
(四)删除词条:
void Delete(void)
{
Project i;
FILE *f=0;
fpos_t p=0;
memset(&i,0,szProject);
printf("please input the word you want:");
scanf("%s",;
p=consult,0);
if(p==0)
{
printf("sorry do not find what you want!\n");
return;
}
p--;
memset(&i,0,szProject);
f=fopen(fileDict,"rb+");
fsetpos(f,&p);
fwrite(&i,szProject,1,f);
fclose(f);
printf("词条已删除\n");
}
(五)修改词条:
8 void Update(void)
{
Project i;
FILE *f=0;
fpos_t p=0;
memset(&i,0,szProject);
printf("please input the word you want:");
scanf("%s",;
p=consult,0);
if(p==0)
{
printf("sorry do not find what you want!\n");
return;
}
p--;
printf("please giving the meaning,按确认结束(输入drop放弃修改):");
fflush(stdin);
gets;
if(strstr,"drop"))
{
printf("已放弃修改!\n");
return;
}
f=fopen(fileDict,"rb+");
fsetpos(f,&p);