C语言电子英汉词典程序设计报告自动化1203李煜明可编辑.docx
- 文档编号:3785155
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:15
- 大小:160.47KB
C语言电子英汉词典程序设计报告自动化1203李煜明可编辑.docx
《C语言电子英汉词典程序设计报告自动化1203李煜明可编辑.docx》由会员分享,可在线阅读,更多相关《C语言电子英汉词典程序设计报告自动化1203李煜明可编辑.docx(15页珍藏版)》请在冰豆网上搜索。
C语言电子英汉词典程序设计报告自动化1203李煜明可编辑
C语言电子英汉词典程序设计报告-自动化1203-李煜明(可编辑)
(文档可以直接使用,也可根据实际需要修改使用,可编辑推荐下载)
课程设计报告
课程名称C语言课程设计
课题名称电子英汉词典
专业自动化
班级1203
学号202102120304
姓名李煜明
指导教师欧阳湘江田媛张晓清
2021年1月4日
湖南工程学院
课程设计任务书
课程名称C语言课程设计
课题电子英汉词典
专业班级自动化1203
学生姓名李煜明
学号202102120304
指导老师欧阳湘江田媛张晓清
审批
任务书下达日期2021年12月27日
任务完成日期2021年1月4日
一、设计内容与设计要求
1.设计内容:
英汉词典作为一个常用的学习工具,是我们经常要使用的。
该系统能完成一个简单的电子英汉词典的功能,如:
单词的查找、增词、删除、修改和维护等工作。
1)功能描述:
1、在计算机中建立有限规模的电子英汉词典(文件),利用程序实现电子英汉词典的查找、增词、删除、修改和维护工作。
2、词典的内容为:
每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格符分开;前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。
3、对单词和释义字符串长度的限定分别为不少于20个与40个字符,词条数限定为不多于200条。
4、采用菜单工作方式。
在一个操作执行之后,程序询问是否继续执行该操作。
如输入Y或y,则重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待另一次选择。
仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。
5、要求整个设计以人为本,用户界面友好。
2)算法提示:
a)数据结构:
结构体数组。
b)简单的程序设计。
c)友好的窗口菜单的设计。
2.设计要求:
1)、设计正确,方案合理。
2)、界面友好,使用方便。
3)、程序精炼,结构清晰。
4)、设计报告5000字以上,。
5)、上机演示。
二、进度安排
12月29日到1月4日
时间
上午
下午
1-4节(四小时)
5-8节(四小时)
12月29日
布置课题,题目讲解
上机编程
1月1日
查阅资料
查阅资料
1月2日
上机编程
查阅资料
1月3日
上机编程
撰写报告
1月4日
上机编程
撰写报告
附:
课程设计报告装订顺序:
封面、任务书、目录、正文、附件(A4大小的图纸及程序清单)、评分表。
正文的格式:
一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:
一、课题设计内容与主要功能;二、课题分析;分析课程设计项目的实现方法,并写出类声明与核心算法实现代码。
三、主要功能的实现步骤;四、程序测试与结论;应包括课程设计程序的屏幕显示,并加以简单的文字说明。
五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。
目 录
1.设计目的与要求……………………………………………4
2.总体设计……………………………………………………5
3.调试分析……………………………………………………6
4.总结与心得…………………………………………………9
5.附录…………………………………………………………10
6.课程设计评分表……………………………………………18
一.目的与要求
a)设计目的
将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,在下述各方面的能力应该得到锻炼:
对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。
熟练掌握C语言的基本语法,灵活运用各种数据类型。
进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。
b)设计和调试过程规范化要求
需求分析
分析系统功能需求以及用户操作流程。
概要设计
在需求分析的基础上,确定系统总体框架(系统功能结构图)。
详细设计
定义数据存储结构,并设计实现系统功能的具体算法,画出各算法的NS流程图。
代码设计
根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返回到主菜单,继续选择其他功能执行。
源程序要求书写规范,结构清晰。
程序调试
程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。
如果程序不能正常运行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析和改正。
如果程序能够基本正确地运行,可考虑增加若干基本的容错功能(如避免用户操作错误时程序出现死循环等);另外尽量对现有算法给出改进方案,并比较不同算法之间的优缺点。
二.总体设计
大致思路框架图:
主函数
查找
增词
修改
删除
三.调试分析
进入菜单页面以后,有四个选项,1.是查找单词;2.是增加单词;3.修改单词;4.,删除单词;
进入菜单,输入1,按回车就会出现提示语,然后输入你想查询的单词,并按回车。
如果程序里面存有这个单词就会输出这个单词和它的中文意思。
如果不存在就提示你“不存在这个单词”。
输入2,按回车就进入增词的程序了。
如果里面存储的单词达到200个了,就会提醒你“储存已满,不能增词”。
如果没有超过,那就引导你输入你想增加的单词及其意思。
这样就增加了单词。
输入3,回车。
在出现“请输入需要删除的单词”,后面输进你想删除的单词,然后根据提示语输入单词及其意思,之后就会告诉你删除完成了。
输入4,回车。
在出现“请输入需要修改的单词”,后面输进你想修改的单词,然后根据提示语输入单词及其意思,之后就会告诉你修改完成了。
四.总结与心得
一开始拿着这个课程设计题目,给我的上满头雾水,不知从何开始。
通过网上查看其他同学的相关程序,给了我一个程序设计的方向。
首先要明确自己程序设计的目的;根据目的,设置思路框架;再根据思路框架分步骤写出相关调用函数和主函数。
同时也在反思为何别人能做到,我却不知从何处开始,于是我便尝试自己设计一个程序。
经过几个夜晚冥想与数次上机操作,程序初步能够运行。
但实用度很底,数据修改,增减都是临时的,退出程序后不能保存。
所查的单词也只能是机构体中输入的单词,查阅范围有限。
经过老师的一番指导,我也找到了初步解决的方案——以文件的形式保存词条,这样就能初步保存修改后的词典,但由于马上就要交实验报告,不能继续完善,所以在次只能这份程序作为自己的作业。
但我不会放弃继续完善这份程序,我会在课余时间里继续修改完善这份程序。
在这几天的课程设计中,虽然设计不是一路畅通,从一开始的错误重重,几经周转,到最后能够运行程序,并能够查阅,我很享受这个过程,为最终能够运行程序,感到由衷的欣喜,但程序中存在种种不足还需通过更深一步的学习,不断完善。
我会在今后的日子里,努力学好C语言,并使C语言成为自己的长项。
五.附录
#include
#include
structcidian
{
chardanci[40];
charmean[40];
}word[200]={{"one","一"},{"two","二"},{"luomin","鸟鸟"},{"kangquanhua","鸟鸟"},{"hupin","神"},{"aide","驻守"},{"bone","骨头"},{"ball","球"},{"cat","猫"},{"cattle","牛"},{"clean","1.干净2.工整"},{"a","一个"},{"finally","最终"},{"fine","舒适"},{"finish","完成"},{"girl","女孩"},{"give","给"},{"go","zou"},{"help","帮助"},{"he","他"},{"here","这里"},{"high","高"},{"ice","冰"},{"idea","主意"},{"imagine","想象"},{"in","在里面"},{"kill","杀死"},{"king","国王"},{"kiss","吻"},{"knight","歧视"},{"late","1.迟的2.以后的"},{"left","左边"},{"line","线"},{"name","名字"},{"mission","任务"}
};
voidchazhao()
{
intb;
do
{
inta;
do{
inta,i;
charchazhao[40];
printf("请输入要查找的单词");
scanf("%s",chazhao);
for(i=0;i<200;i++){
if(strcmp(word[i].danci,chazhao)==0)
{
printf("%s\t%s\n",word[i].danci,word[i].mean);
printf("输入1继续查找,否则退出程序");
scanf("%d",&b);
break;
}
}
if(i==200)
{
printf("不存在此单词,输入1继续查找,否则退出程序");
scanf("%d",&a);
}
}while(a==1);
}while(b==1);
}
voidzengci()
{
inta;
do
{inta,i;
charzengci[40],zengcim[40];
if(word[199].danci[0]=='\0')
{
for(i=0;i<200;i++)
{
if(word[i].danci[0]!
='\0')
continue;
else
{
printf("请输入需要增添的单词\n");
scanf("%s",zengci);
printf("请输入意译\n");
scanf("%s",zengcim);
strcpy(word[i].danci,zengci);
strcpy(word[i].mean,zengcim);
printf("成功增添,继续增词输入1,否则退出程序");
scanf("%d",&a);
}
break;
}
}
if(word[199].danci[0]!
='\0')
printf("存储已满,不能增词");
}while(a==1);
}
voidshanchu()
{
intb,c,i;
do
{
inta,b,i,j;
charshanchu[40];
printf("请输入要删除的单词");
scanf("%s",shanchu);
for(i=0;i<200;i++)
{
if(strcmp(shanchu,word[i].danci)==0)
{
printf("确定要删除请输入1,否则退出程序");
scanf("%d",&a);
if(a==1)
{
for(j=0;j<40;j++)
{
word[i].danci[j]='\0';
word[i].mean[j]='\0';
}
printf("成功删除,继续删除请输入1,否则退出程序");
scanf("%d",&b);
}
break;
}
}
}while(b!
=1);
if(i==200)
{
printf("不存在此单词。
输入1返回主菜单");
scanf("%d",&c);
}
}
voidxiugai()
{
intb,i;
do
{
inta,c;
charxiugai[40],xiugaih[40],xiugaihy[40];
printf("请输入要修改的单词\n");
scanf("%s",xiugai);
for(i=0;i<200;i++)
{
if(strcmp(word[i].danci,xiugai)==0)
{
printf("修改单词输入1,修改意译输入2\n");
scanf("%d",&a);
if(a==1)
{
printf("请输入修改后的单词\n");
scanf("%s",xiugaih);
strcpy(word[i].danci,xiugaih);
}
if(a==2)
{
printf("请输入修改后的意译\n");
scanf("%s",xiugaihy);
strcpy(word[i].mean,xiugaihy);
}
printf("修改成功,继续修改输入1,否则退出程序\n");
scanf("%d",&b);
break;
}
}
}while(b==1);
if(i==200)
printf("不存在此单词");
}
voidmain()
{
inta;
printf("****查找单词请输入1****\n");
printf("****增加单词请输入2****\n");
printf("****删除单词请输入3****\n");
printf("****修改单词请输入4****\n");
scanf("%d",&a);
switch(a)
{
case1:
chazhao();break;
case2:
zengci();break;
case3:
shanchu();break;
case4:
xiugai();break;
default:
break;
}
}
计算机与通信学院课程设计评分表
课程名称:
C语言程序设计
项目
评价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 电子 英汉词典 程序设计 报告 自动化 1203 李煜明可 编辑