英汉电子词典设计报告_设计_C语言_C语言程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.总体设计
大致思路框架图:
主函数
查找
增词
修改
删除

3.调试分析
进入菜单页面以后,有四个选项,1.是查找单词;2.是增加 单词;3.修改单词;4.,删除单词;
进入菜单,输入 1 ,按回车就会出现提示语,然后输入你 想查询的单词,并按回车。如果程序里面存有这个单词就 会输出这个单词和它的中文意思。如果不存在就提示你“不 存在这个单词”。
统能完成一个简单的电子英汉词典的功能,如:单词的查找、增词、 删除、修改和维护等工作。 2、功能描述:
在计算机中建立有限规模的电子英汉词典(文件),利用程序 实现电子英汉词典的查找、增词、删除、修改和维护工作。 2、词典的内容为:每行对应一个词条,每个词条由两个字符 串组成,字符串用若干空格符分开;前一个是单词字符串(英 文),后一个是释义字符串(中文),使用分号作为多个释义的 分隔符(无空格)。 3、对单词和释义字符串长度的限定分别为不少于 20 个与 40 个字符,词条数限定为不多于 200 条。 4、采用菜单工作方式。在一个操作执行之后,程序询问是否 继续执行该操作。如输入 Y 或 y,则重复同一操作,不退回到 菜单;如输入其它信息,则回到菜单等待另一次选择。仅当选 择退出操作时,程序应询问是否将修改后的词典存盘,并根据 用户选择存盘退出或不存盘退出。 5、要求整个设计以人为本,用户界面友好。 3、 算法提示:
printf("请输入需要增添的单词\n"); scanf("%s",zengci); printf("请输入意译\n"); scanf("%s",zengcim); strcpy(word[i].danci,zengci); strcpy(word[i].mean,zengcim); printf("成功增添,继续增词输入 1,否则退出程序");
5.附录
#include<string.h>
struct cidian
{
char danci[40];
char mean[40];
} word[200]= {{"one","一"},{"two","二"},{"luomin","鸟鸟
"},{"kangquanhua","鸟鸟"},{"hupin","神"},{"aide","驻守"},{"bone","骨
14
} void xiugai() {
int b,i; do { int a,c; char xiugai[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); }
头"},{"ball","球"},{"cat","猫"},{"cattle","牛"},{"clean","1.干净 2.工整
"},{"a","一个"},{"finally","最终"},{"fine","舒适"},{"finish","完成
"},{"girl","女孩"},{"give","给"},{"go" ,"zou"},{"help","帮助"},{"he","
序设计的方法。 3) 熟练掌握 C 语言的基本语法,灵活运用各种数据类型。 4) 进一步掌握在集成环境下如何调试程序(单步调试,设置断点、
观察表达式,分块调试)和修改程序。
二. 设计和调试过程规范化要求
1、 需求分析 分析系统功能需求以及用户操作流程。
2、 概要设计 在需求分析的基础上,确定系统总体框架(系统功能结构图)。
课程设计
课程名称 :C 语言程序课程设计 题目名称 :电子英汉词典 学生学院 :电气信息学院 专业班级 :自动化 1101 学 号 :201101020104 学生姓名 :胡拚 联系方式 :18973259341 指导教师 :陈世清

一、 课程设计的内容 课题设计四:电子英汉词典设计
1、问题描述: 英汉词典作为一个常用的学习工具,是我们经常要使用的。该系
3、 详细设计 定义数据存储结构,并设计实现系统功能的具体算法,画出各算

法的 NS 流程图。 4、 代码设计
根据所设计的算法,定义相应函数分别实现系统的各子功能模 块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来 调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返 回到主菜单,继续选择其他功能执行。源程序要求书写规范,结构清 晰。 5、 程序调试
输入 2,按回车就进入增词的程序了。如果里面存储的单 词达到 200 个了,就会提醒你“储存已满,不能增词”。如 果没有超过,那就引导你输入你想增加的单词及其意思。 这样就增加了单词。

输入 3,回车。在出现“请输入需要删除的单词”,后面输 进你想删除的单词,然后根据提示语输入单词及其意思, 之后就会告诉你删除完成了。
程序编译、链接成功后,自己设计实现程序功能的一组或多组测 试数据,并严格按照此测试数据进行测试,然后分析测试结果。如果 程序不能正常运行或结果不正确,则需对程序进行单步调试,在调试 过程中认真查找算法实现中存在的问题,并加以分析和改正。如果程 序能够基本正确地运行,可考虑增加若干基本的容错功能(如避免用 户操作错误时程序出现死循环等);另外尽量对现有算法给出改进方 案,并比较不同算法之间的优缺点。
他"},{"here","这里"},{"high","高"},{"ice","冰"},{"idea","主意
"},{"imagine","想象"},{"in","在里面"},{"kill","杀死"},{"king","国王
"},{"kiss","吻"},{"knight","歧视"},{"late","1.迟的 2.以后的"},{"left","
15
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("不存在此单词"); } void main() {
13
{ 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); }
11
} void zengci() {
int a; do {int a,i; char zengci[40],zengcim[40]; if(word[199].danci[0]=='\0') {
for(i=0;i<200;i++) { if(word[i].danci[0]!='\0') continue; else {
int a; printf("****查找单词请输入 1****\n"); printf("****增加单词请输入 2****\n"); printf("****删除单词请输入 3****\n"); printf("****修改单词请输入 4****\n");
16
scanf("%d",&a); switch(a) { case 1:chazhao();break; case 2:zengci();break; case 3:shanchu();break; case 4:xiugai();break; default:break; } }
左边"},{"line","线"},{"name","名字"},{"mission","任务"}
};
void chazhao()
{
int b;
do
{

int a; do{ int a,i; char chazhao[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);
12
scanf("%d",&a);
} break;
} }
if(word[199].danci[0]!='\0') printf("存储已满,不能增词"); }while(a==1); } void shanchu() { int b,c,i; do { int a,b,i,j; char shanchu[40]; printf("请输入要删除的单词"); scanf("%s",shanchu); for(i=0;i<200;i++) { if(strcmp(shanchu,word[i].danci)==0)

1.目的与要求
一. 设计目的
将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程 序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应 用,对所学知识达到融会贯通的程度。通过课程设计,在下述各方面 的能力应该得到锻炼: 1) 对于给定的设计题目,如何进行分析,理清思路,并给出相应的
数学模型。 2) 掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程
在这几天的课程设计中,虽然设计不是一路畅通,从一开始的错 误重重,几经周转,到最后能够运行程序,并能够查阅,我很享受这 个过程,为最终能够运行程序,感到由衷的欣喜,但程序中存在种种 不足还需通过更深一步的学习,不断完善。我会在今后的日子里,努 力学好 C 语言,并使 C 语言成为自己的长项。

#include<stdio.h>
输入 4,回车。在出现“请输入需要修改的单词”,后面输 进你想修改的单词,然后根据提示语输入单词及其意思, 之后就会告诉你修改完成了。
⑦Fra Baidu bibliotek

4.总结与心得
一开始拿着这个课程设计题目,给我的上满头雾水,不知从何开 始。通过网上查看其他同学的相关程序,给了我一个程序设计的方向。 首先要明确自己程序设计的目的;根据目的,设置思路框架;再根据 思路框架分步骤写出相关调用函数和主函数。同时也在反思为何别人 能做到,我却不知从何处开始,于是我便尝试自己设计一个程序。经 过几个夜晚冥想与数次上机操作,程序初步能够运行。但实用度很底, 数据修改,增减都是临时的,退出程序后不能保存。所查的单词也只 能是机构体中输入的单词,查阅范围有限。经过老师的一番指导,我 也找到了初步解决的方案——以文件的形式保存词条,这样就能初步 保存修改后的词典,但由于马上就要交实验报告,不能继续完善,所 以在次只能这份程序作为自己的作业。但我不会放弃继续完善这份程 序,我会在课余时间里继续修改完善这份程序。
数据结构:结构体数组。
简单的程序设计。
友好的窗口菜单的设计。
二、 课程设计应完成的工作
1) 设计程序
2) 进行调试与运行
3) 完成设计报告
4) 答辩



1.设计目的与要求……………………………………………4 2.总体设计……………………………………………………5 3.调试分析……………………………………………………6 4.总结与心得…………………………………………………9 5.附录…………………………………………………………10 6.课程设计评分表……………………………………………18
相关文档
最新文档