c语言课程设计-电子英汉词典(含源码)

合集下载

C课程设计之电子词典

C课程设计之电子词典

C课程设计之电子词典仲恺农业工程学院工程实训报告电子词典课程名称 C++面向对象课程设计姓名郑志欣院(系)信息科学与技术学院专业班级计算机科学与技术132班学号 20244215指导教师史婷婷仲恺农业工程学院教务处制目录1 需求分析................................................................................ 错误!未定义书签。

2 系统总框图和功能模块说明................................................. 错误!未定义书签。

2.1 系统总框图.................................................................. 错误!未定义书签。

2.2 功能模块说明.............................................................. 错误!未定义书签。

3 系统设计................................................................................ 错误!未定义书签。

3.1 主要结构体 .................................................................. 错误!未定义书签。

3.2主要功能函数 .............................................................. 错误!未定义书签。

3.3 关键函数的流程图....................................................... 错误!未定义书签。

4 系统调试................................................................................ 错误!未定义书签。

c课程设计英汉词典

c课程设计英汉词典

c课程设计英汉词典一、教学目标本课程的目标是让学生掌握英汉词典的基本使用方法,能够独立查找单词的含义、用法和例句,提高学生的词汇量和英语阅读能力。

具体的学习目标包括:1.知识目标:让学生了解英汉词典的种类、结构和功能,掌握词典查找单词的基本方法。

2.技能目标:培养学生独立使用英汉词典查找单词的能力,能够准确理解单词的含义、用法和例句。

3.情感态度价值观目标:激发学生学习英语的兴趣,培养学生的自主学习能力和合作精神。

二、教学内容本课程的教学内容主要包括英汉词典的种类、结构、功能以及使用方法。

具体的教学大纲如下:1.英汉词典的种类:介绍纸版词典、电子词典和在线词典等。

2.英汉词典的结构:讲解词典的序言、目录、词条等部分。

3.英汉词典的功能:讲解词典的查词、释义、例句、用法辨析等功能。

4.词典的使用方法:讲解如何快速查找单词、如何根据上下文推测词义等。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。

具体方法如下:1.讲授法:讲解英汉词典的种类、结构、功能和使用方法。

2.讨论法:学生讨论词典的使用技巧和英语学习心得。

3.案例分析法:分析实际案例,让学生学会如何运用词典解决实际问题。

4.实验法:让学生亲身体验使用不同类型的英汉词典,提高实际操作能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的英汉词典作为教材,如《牛津英汉词典》等。

2.参考书:提供一些英汉词典的参考书,如《现代英汉词典》等。

3.多媒体资料:制作课件、视频等多媒体资料,帮助学生更好地理解和学习。

4.实验设备:准备一些电子词典和在线词典,让学生亲身体验使用。

五、教学评估本课程的评估方式包括平时表现、作业和考试等,旨在全面、客观、公正地反映学生的学习成果。

具体评估方式如下:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,记录并给予评价。

C语言英汉词典课程设计

C语言英汉词典课程设计

C语言英汉词典课程设计一、课程目标知识目标:1. 学生能够掌握C语言基础语法,包括变量声明、数据类型、运算符、控制结构等。

2. 学生能够理解结构体在C语言中的应用,并能够使用结构体创建英汉词典的数据结构。

3. 学生能够运用文件操作函数实现英汉词典的存储与读取。

技能目标:1. 学生能够运用C语言编写程序,实现英汉词典的增删查功能。

2. 学生能够通过调试和优化程序,提高英汉词典的运行效率。

3. 学生能够通过小组合作,共同完成一个具有实用价值的英汉词典项目。

情感态度价值观目标:1. 学生培养对编程的兴趣,提高解决实际问题的能力。

2. 学生在团队合作中,学会相互尊重、沟通协作,培养团队精神。

3. 学生通过英汉词典项目,认识到编程在生活中的应用,激发创新意识。

课程性质:本课程为C语言编程实践课程,以项目为导向,注重培养学生的动手能力和实际应用能力。

学生特点:学生为高年级学生,已具备一定的C语言基础,对编程有一定了解,具备一定的自学和解决问题能力。

教学要求:教师需引导学生运用所学知识,以小组合作形式完成英汉词典项目,注重培养学生的编程思维和实际操作能力。

在教学过程中,关注学生的情感态度价值观的培养,激发学生的学习兴趣和团队协作精神。

通过课程目标的分解,确保学生能够达到预期学习成果,为后续教学设计和评估提供依据。

二、教学内容1. C语言基础回顾:变量声明、数据类型、运算符、控制结构(条件语句、循环语句)。

2. 结构体概念与应用:结构体的定义、声明、初始化;结构体数组、结构体指针。

3. 文件操作:文件的打开、关闭、读写操作;二进制读写;文本文件与二进制文件的转换。

4. 英汉词典项目实战:a. 数据结构设计:定义单词结构体,创建单词列表。

b. 功能模块设计:实现添加、删除、查找、显示全部单词等功能。

c. 文件操作:实现词典的存储与读取。

d. 界面设计:设计简单易懂的用户界面,提供用户操作接口。

5. 调试与优化:分析程序性能,进行调试优化,提高词典运行效率。

C语言课程设计——电子英汉词典

C语言课程设计——电子英汉词典

课程设计报告课程名称 C语言课程设计课题名称电子英汉词典专业纺织服装学院班级纺工1203学号姓名指导教师田媛2014年 01 月06 日湖南工程学院课程设计任务书课程名称 C语言课程设计课题电子英汉词典专业班级纺工工程学生姓名学号指导老师田媛审批任务书下达日期 2013 年 12 月 26 日任务完成日期2014年 01 月 06 日一、设计内容与设计要求1.设计内容:课题一:电子英汉词典。

具体内容见附录。

2.设计要求:1)设计正确,方案合理。

2)界面友好,使用方便。

3)程序精炼,结构清晰。

4)上机演示。

3.设计报告要求:课程设计报告格式如下:1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。

2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释),课程设计报告需5000字左右(不含附件)。

3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。

二、进度安排上课时间另外安排上课时间另外安排。

附录:设计课题三:电子英汉词典一、问题描述:该设计实现简单电子英汉词典的功能,具体管理操作包括单词的添加、显示、查找、删除、修改和保存等。

二、功能描述:1、本设计采用结构体数组,每个数据的结构应当包括:单词的英文拼写,单词的中文释义。

2、系统功能:a.词条录入:即添加单词记录。

b.信息显示:将所有的单词按字母顺序显示。

c.词条修改:对已经输入的单词信息进行修改。

d.词条删除:删除某个单词记录。

e.单词查询: 输入单词英文拼写,输出该单词的中文释义。

f.信息保存:将单词信息保存到文件。

g.退出系统3、系统使用说明:执行一个具体的功能之后,程序将重新显示功能菜单。

系统的功能并不限于上述,可以对其进行扩充完善,如在对信息进行修改和删除时,可以考虑系统的安全性,在执行前若输入正确密码,才可进行操作。

C语言电子词典课程设计

C语言电子词典课程设计

C语言电子词典课程设计一、课程目标知识目标:1. 理解C语言中结构体、数组、字符串等基本概念及其应用;2. 学会使用C语言实现基本的查找、插入、删除等数据操作;3. 掌握C语言中文件读写功能,实现对电子词典数据的存储和读取。

技能目标:1. 能够运用结构体创建电子词典的数据结构,并实现单词的录入、查询、修改和删除等功能;2. 学会使用二分查找算法优化电子词典的查询速度,提高程序运行效率;3. 能够独立编写C语言程序,完成一个具有基本功能的电子词典项目。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发他们探索计算机科学领域的热情;2. 培养学生的团队协作意识,学会与他人共同解决问题;3. 培养学生严谨、细心的编程习惯,提高他们面对问题的分析能力和解决能力。

本课程旨在帮助学生在掌握C语言基础知识的基础上,学会运用编程解决实际问题。

结合课程性质、学生特点和教学要求,将课程目标分解为具体的学习成果,以便于后续的教学设计和评估。

在教学过程中,注重培养学生的实际操作能力,提高他们运用C语言解决实际问题的综合素质。

二、教学内容1. C语言基础知识回顾:结构体、数组、字符串、指针等基本概念及其应用。

相关教材章节:第一章至第四章2. 算法介绍:二分查找算法原理及其在电子词典查询中的应用。

相关教材章节:第七章3. 文件读写操作:C语言文件操作函数,实现对电子词典数据的存储和读取。

相关教材章节:第九章4. 电子词典功能实现:- 单词录入:设计录入界面,实现单词信息的输入和保存;- 单词查询:实现按单词查找,展示单词释义;- 单词修改:实现对已录入单词的修改功能;- 单词删除:实现对已录入单词的删除功能。

相关教材章节:第五章、第六章、第七章5. 项目实践:分组进行电子词典项目实践,完成一个具有基本功能的电子词典程序。

教学内容安排和进度:第一周:C语言基础知识回顾,学习结构体、数组、字符串等;第二周:学习文件读写操作,理解二分查找算法;第三周:电子词典功能实现(单词录入、查询、修改、删除);第四周:项目实践,分组完成电子词典项目,并进行演示和评价。

c课程设计英汉词典

c课程设计英汉词典

c课程设计英汉词典一、课程目标知识目标:1. 学生能掌握英汉词典的基本结构和使用方法。

2. 学生能识别并理解本章节中出现的关键英语词汇及其汉译。

3. 学生能通过英汉词典查找并正确使用至少10个新词汇。

技能目标:1. 学生能运用英汉词典提高阅读理解能力,快速获取英文信息。

2. 学生能培养通过词典学习新词汇的自学能力,形成良好的学习习惯。

3. 学生能通过小组合作,共同探讨词典使用技巧,提高团队协作能力。

情感态度价值观目标:1. 学生对英语学习保持兴趣,增强学习信心。

2. 学生在英汉词典使用过程中,培养耐心和细心的品质。

3. 学生通过学习,认识到词汇学习对英语水平提升的重要性,树立正确的学习观念。

课程性质:本课程为英语学科选修课程,旨在帮助学生掌握英汉词典的使用方法,提高英语词汇学习效率。

学生特点:学生为五年级学生,具有一定的英语基础,但词典使用能力较弱,对英语词汇学习有较高兴趣。

教学要求:课程应注重实践性,结合课本内容,引导学生学会使用英汉词典,培养自学能力和团队协作精神。

同时,关注学生情感态度价值观的培养,激发学习兴趣,提高学习效果。

通过具体的学习成果分解,使学生在课程结束后能够达到预期目标。

二、教学内容本章节教学内容以课本第五单元“Word Power”为基础,涵盖以下方面:1. 英汉词典的基本结构介绍:包括词典的序言、目录、词汇表、附录等部分,使学生了解词典的编排规律。

2. 词典查词技巧:教授学生如何快速查找单词,包括使用音标、词性、释义等,提高查词效率。

3. 词汇学习:选取课本第五单元中的重点词汇,通过英汉词典查找,学习词汇的用法和搭配。

4. 词汇拓展:以课本词汇为出发点,引导学生通过英汉词典查找相关词汇,拓展词汇量。

5. 实践活动:组织学生进行小组合作,共同完成词汇查找、释义、造句等任务,巩固所学知识。

教学大纲安排如下:第一课时:英汉词典基本结构介绍,学会使用目录和词汇表。

第二课时:词典查词技巧,以课本词汇为例,进行实际操作。

c语言课程设计电子词典

c语言课程设计电子词典

c语言课程设计电子词典随着科技的不断进步和发展,计算机技术也在不断的发展和完善。

计算机编程语言也应运而生,其中c语言成为了最为流行和广泛应用的一种编程语言。

为了更好地学习和掌握c语言,我们需要不断地进行练习和实践。

而课程设计电子词典就是一个非常好的实践项目。

本文将对c语言课程设计电子词典进行详细的介绍和分析。

一、电子词典简介电子词典是一种类似于纸质词典的电子设备。

电子词典将词典内容数字化存储在内部芯片中,通过一个屏幕显示出来。

电子词典拥有很多优点,比如存储空间更大、功能更强大、可搜索性更高等等。

今天,电子词典是很多人学习和工作必不可少的工具之一。

二、c语言课程设计电子词典的设计思路c语言课程设计电子词典是一种将词典内容和c程序功能相结合的设计项目。

他的设计思路如下:1.定义词典内容结构体在程序中需要定义一个结构体,用来存储词典内容。

结构体的成员包括单词、单词的释义、音标等。

typedef struct word{ char name[30]; // 单词名称char symbol[30]; // 单词音标charmean[400]; // 单词含义}word;2.构建词典数据将词典中的单词、释义、音标等内容保存到结构体中。

并将多个结构体数据包含在一个数组中。

word dictionary[] = { { "apple", "[ˈæpl]", "a round fruit with smooth red or yellow skin and firm white flesh" }, { "banana", "[bəˈnɑː.nə]", "a long curved fruit with a yellow skin" }, { "cat", "[kæt]", "a small animal with fur, four legs, a tail, and claws" }, { "dog", "[dɒɡ]", "a common animal with four legs, fur, and a tail" }, { "elephant", "[ˈel.ɪ.fənt]", "a very large grey animal with a long nose called a trunk" }};3.实现单词查询功能在程序中,我们需要实现一个单词查询的功能。

c英汉词典课程设计

c英汉词典课程设计

c 英汉词典课程设计一、课程目标知识目标:1. 学生能够掌握英汉词典的基本结构和使用方法,包括字母顺序、词条布局等。

2. 学生能够通过查阅词典,理解并学习新单词的含义、用法和例句。

3. 学生能够了解英汉词典中提供的词性、时态、同义词、反义词等语言知识点。

技能目标:1. 学生能够培养快速准确查阅词典的技能,提高学习效率。

2. 学生能够运用词典中的资源进行词汇拓展和语言表达能力的提升。

3. 学生能够通过词典学习,培养独立解决问题的能力。

情感态度价值观目标:1. 学生能够增强对英语学习的兴趣和自信心,认识到工具书在语言学习中的重要性。

2. 学生能够培养良好的学习习惯,主动利用词典资源进行自主学习。

3. 学生能够通过学习英汉词典,拓宽国际视野,了解不同文化背景下的词汇用法。

课程性质:本课程为实用工具课程,旨在帮助学生掌握英汉词典的使用方法,提高英语学习效果。

学生特点:考虑到学生所在年级,具备一定的英语基础,但词典使用技巧和自主学习能力有待提高。

教学要求:教师应注重培养学生的实际操作能力,将理论与实践相结合,使学生在实际运用中掌握词典使用技巧。

同时,关注学生的情感态度,激发学习兴趣,提高学习积极性。

通过本课程的学习,使学生能够达到具体的学习成果,为后续的英语学习奠定基础。

二、教学内容1. 词典基本结构认知:介绍英汉词典的组成部分,如字母索引、词条、例句、词性、时态、同义词、反义词等。

- 教材关联章节:课本中关于词典使用的基础知识部分。

2. 词典查阅技巧:教授快速定位单词、理解词条布局、查找同义词和反义词等方法。

- 教材关联章节:课本中关于查阅词典技巧的内容。

3. 词汇拓展学习:利用词典资源,学习新单词的用法、搭配及其在不同语境中的应用。

- 教材关联章节:课本中词汇学习相关章节。

4. 实践应用:设计实例,让学生运用所学查阅词典,解决实际问题,提高语言表达能力。

- 教材关联章节:课本中实践应用部分。

5. 自主学习策略:培养学生利用词典进行自主学习,养成良好的学习习惯。

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

C语言课程设计软件学院指导老师:学号:姓名:一、实验题目及要求题目:电子英汉词典设计要求:1.用图形用户界面实现2.能够编辑词典库中的信息3.能够实现英译汉,汉译英。

(要考虑一词多义)二、实验过程主要思想: 1 建立词典库(相关文件的处理)2 设计词典图形用户界面3 查找单词及词典的重复使用(实现一词多义)主要过程1.词典库的建立:文件的建立,写入和调出参考老师给的FILE.C 文件FILE.C大致内容{FILE *fp/*建立文件指针*/fp=fopen("d:\list.txt","wb+");/*在指定路径建立文本文件*/for(i=0;i<SIZE;i++) /*将结构体中的内容if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1) 写进指定文件中并进{ printf("file write error!"); 行判断是否写入*/ exit(0);}fread(&stu_temp,sizeof(struct student),1,fp); /*将文件中的指定内容调出*/ }单词库存储在指定路径的指定文件中方便后文的查询和调出单词库的建立利用结构体可以包含一词多义,并将汉译英和英译汉的词典库分开以便实现英汉互译(在中文dos环境下运行)图例:(未在中文dos环境下运行)2. 设计词典图形用户界面参考文件Graph.c 进行图形驱动void init(){int gdriver, gmode, i, j;gdriver = DETECT;registerbgidriver(EGA VGA_driver);initgraph(&gdriver, &gmode, "");}图例(未设置鼠标前)上网查找相关资料调用鼠标鼠标绘制函数设置鼠标指针位置函数设置函数得到鼠标左右键点击的不同状态(设置鼠标后运行结果全屏无法截图)在图形界面下设计用户界面并使用该鼠标设置相关区域的鼠标键点击后得到不同的结果,进入英译汉或汉译英界面3. 查找单词及词典的重复使用(考虑一词多义)利用文件指针和函数fseek ,fread 对结构体内的单词名称查找和该相关释义的调用同时考虑英汉互译设置查找不到单词的页面和利用while语句使实现词典是否需要重复使用功能图例:三、实验结果及心得根据题目描述基本达到题目要求。

在实验过程中对照老师给予的帮助程序和相关软件不断构思得到大致的框架,不断的调试不断的查询函数用法的同时加深对c语言的认识,也许只是简单的一句话也许只是简单的一个功能也是需要一个一个经过深思熟虑的代码敲打出来。

此次试验中了解图形用户界面,相关文件的存储和调用,鼠标的调用及使用等等平常没有接触到的c语言的知识。

深深感受到c语言博大精深,将为以后的软件方面知识的学习打下深刻的基础。

四、代码(dictionary)#include <process.h>#include <stdlib.h>#include <stdio.h>#include <dos.h>#include <conio.h>#include <string.h>#include <graphics.h>#include <stdlib.h>#include <bios.h>#define SIZE 2 /*设置词典的词汇量*/#define NO_PRESSED 0 /*为读取鼠标的各个状态*/#define LEFT_PRESSED 1#define RIGHT_PRESSED 2void DrawMouse(float x,float y);int setMousePos(int x,int y);int mouseStatus(int* x,int* y);void init();void box(int startx,int starty,int high,int width) ;struct word{char name[10]; /*存储英译中词典单词名*/char exp[3][20]; /*存储英译中词典单词释义*/char namm[10]; /*存储中译英词典单词名*/char exx[3][20]; /*存储英译中词典单词释义*/}; /*创建存放单词及其释义的结构体*/char buf[20*20*4]; /*设置缓存区*/main(){char *f[]={"Chinese-English Translation(中译英)","English-Chinese Translation(英译中)"};int key,y,x;char u;int t=0,r;int o1[SIZE];int o2[SIZE]; /*o1,o2数组用来储存单词的释义数目*/ char seek[10]; /*存储查询功能时用户输入的单词*/int last_x,last_y;int x1,y1; int x0,y0;int m=0;struct word stu[SIZE],stu_eg; /*为读取文件中内容设定的相关结构体变量*/FILE *fp; /*定义文件指针*/int i,j;fp=fopen("c:\list.txt","wb+");if(fp==NULL){printf("cannot open this file\n");exit(0);} /*创建或打开特定路径的文件*/for(i=0;i<SIZE;i++){puts("English word:");scanf("%s",&stu[i].name); /*添加英译中词典中单词名*/u='y'; /*字符变量u存储用户输入的键盘值查询用户是否需要添加释义*/ j=0; /*变量j的数值能控制每个单词释义在三个之内*/ while(u=='y'&&j<=2){o1[i]=j; /*int类型数组o1记载每个单词拥有的释义数*/ printf("Chinese explanation %d :",j+1);y=wherey();scanf("%s",stu[i].exp[j]);gettext(1,1,60,14,buf);if(j<2)printf("\nanother explaination ? ('n'or 'y')\n") ;getchar();scanf("%c",&u);clrscr();puttext(1,1,60,14,buf);gotoxy(1,y+2);j++;}clrscr();} /*添加英译中词典中单词*//*利用循环语句添加单词释义实现一次多义功能*/ for(i=0;i<SIZE;i++){puts("中文单词:");scanf("%s",&stu[i].namm);u='y';j=0;while(u=='y'&&j<=2){o2[i]=j;printf("英文释义%d :",j+1);y=wherey();scanf("%s",stu[i].exx[j]);gettext(1,1,60,14,buf);if(j<2)printf("\n增加释义? ('n'or 'y')\n") ;getchar();scanf("%c",&u);clrscr();puttext(1,1,60,14,buf);gotoxy(1,y+2);j++;/*相关解释同上文英译汉词典中注释*/ } /*添加中译英词典中单词*/clrscr();}for(i=0;i<SIZE;i++)if(fwrite(&stu[i],sizeof(struct word),1,fp)!=1){printf("file write error!");exit(0);} /*利用文件指针和fwrite语句将单词存放在指定打开文件中/*window(1,1,80,25);gettext(20,10,40,14,buf);u='y';init();x0=250;y0=250; /*设定鼠标的初始位置*/textbackground(15);textcolor(0);clrscr();outtextxy(180,220,f[0]); /*在设定好的背景颜色和字体颜色下指定位置输出目录文字*/ outtextxy(180,270,f[1]);setMousePos(x0,y0);setwritemode(1);DrawMouse(x0,y0); /*调用相关的鼠标函数*/last_x=x0;last_y=y0;line(170,210,470,210);line(170,240,470,240);line(170,260,470,260);line(170,290,470,290);line(170,210,170,240);line(470,210,470,240);line(170,260,170,290);line(470,260,470,290); /*设计界面相关文字的框框*/while(m==0){m=0;while(mouseStatus(&x1,&y1) == NO_PRESSED&&m==0){if(last_x!=x1 && last_y!=y1){DrawMouse(last_x,last_y);DrawMouse(x1,y1);last_x=x1;last_y=y1;}} /*设计当鼠标坐标移动且没有按下任何键时鼠标的移动轨迹*/ while(!(mouseStatus(&x1,&y1)==NO_PRESSED) ){if(mouseStatus(&x1,&y1)==LEFT_PRESSED&&x1>170&&x1<470&&y1>210&& y1<240){m=1;break;}if(mouseStatus(&x1,&y1)==LEFT_PRESSED&&x1>170&&x1<470&&y1>260&& y1<290){m=2;break;}if(x1<170 ||x1>470 ||y1<210 || y1>290);} /*设定鼠标在界面内一定区域进行相关点击后实现的功能*/ }restorecrtmode(); /*设计词典的界面*/while(u=='y') /*利用u=='y'使词典能重复使用*/while(1){textbackground(3);textcolor(15);if(m==1){t=0;clrscr();box(15,10,10,65);gotoxy(27,7);printf("English-Chinese Translation");gotoxy(31,12);rewind(fp);printf("enter the word:");gotoxy(31+strlen("enter the word:"),12);/ *设计英译汉词典查找功能时的页面*/ scanf("%s",seek);for(i=0;i<SIZE;i++){if(strcmp(stu[i].name,seek)==0){t=1;break;}} /*利用字符串strcmp函数实现查找对比功能*/if(t==1) /*如果找到相同单词名令t=1,判断是否执行下个步骤*/ {fseek(fp,i*sizeof(struct word),0);fread(&stu_eg,sizeof(struct word),1,fp);gotoxy(31,15);for(j=0;j<=o1[i];j++){if(j==0)printf("the explanation is :(%d) %s",j+1,stu_eg.exp[j]);else{gotoxy(31+strlen("the explanation is :"),15+j);printf("(%d) %s",j+1,stu_eg.exp[j]);}} /*如果t=1,找到该单词在文件中存储的位置后,利用循环结构,fseek和fread语句将其所有释义调出,循环的判断次数取决o1数组内相对应的数字*/}for(i=0;i<SIZE;i++){for(r=0;r<=o2[i];r++){if(strcmp(stu[i].exx[r],seek)==0){t=2;break;}} /*如果找到相同单词释义令t=2,判断是否执行下个步骤*/if(t==2)break;}if(t==2){rewind(fp);fseek(fp,(i)*sizeof(struct word),0);fread(&stu_eg,sizeof(struct word),1,fp);gotoxy(31,15);printf("the explanation is :(1) %s",stu_eg.namm);/*如果t=2在汉译英词典库中找到相关释义并将其单词名调出*/ }if(t==0){gotoxy(31,15);printf("sorry,don't find it"); /*词典库中没有此单词则输出sorry,don't find it*/}getchar();scanf("%c",&u)clrscr(); /*停顿使用户看清结果*/gotoxy(22,10);printf("Do you want use is again ?('n' or 'y')");gotoxy(35,14);printf("enter:");gotoxy(35+strlen("enter:"),14); /*设计没有查到单词的界面*/scanf("%c",&u);break; /*对u进行赋值来判定用户是否需要重新使用词典*/ }if(m==2){t=0;clrscr();gotoxy(38,7);printf("汉译英");box(20,10,10,60);gotoxy(35,12);rewind(fp);printf("输入单词:");gotoxy(35+strlen("输入单词:"),12);scanf("%s",seek);for(i=0;i<SIZE;i++){if(strcmp(stu[i].namm,seek)==0){t=1;break;}}if(t==1){fseek(fp,i*sizeof(struct word),0);fread(&stu_eg,sizeof(struct word),1,fp);gotoxy(35,15);for(j=0;j<=o2[i];j++){if(j==0)printf("释义:(%d) %s",j+1,stu_eg.exx[j]);else{gotoxy(35+strlen("释义:"),15+j);printf("(%d) %s",j+1,stu_eg.exx[j]);}}}for(i=0;i<SIZE;i++){for(r=0;r<=o2[i];r++){if(strcmp(stu[i].exp[r],seek)==0){t=2;break;}}if(t==2)break;}if(t==2){rewind(fp);fseek(fp,(i)*sizeof(struct word),0);fread(&stu_eg,sizeof(struct word),1,fp);gotoxy(35,15);printf("释义:(1) %s",stu_);}if(t==0){gotoxy(35,15);printf("对不起,没有这个单词");}getchar();scanf("%c",&u);clrscr();gotoxy(27,10);printf("重新查询?('n' or 'y')");gotoxy(35,14);printf("输入:");gotoxy(35+strlen("输入:"),14);scanf("%c",&u);break; /*相关注释参考上文英译中词典*/ }}}int mouseStatus(int* x,int* y){/*定义两个寄存器变量,分别存储入口参数和出口参数*/union REGS inregs,outregs;int status;status=NO_PRESSED;/*入口参数AH=3,读取鼠标位置及其按钮状态*/inregs.x.ax=3;int86(0x33,&inregs,&outregs);/*CX表示水平位置,DX表示垂直位置*/*x=outregs.x.cx;*y=outregs.x.dx;/*BX表示按键状态*/if(outregs.x.bx&1)status=LEFT_PRESSED;else if(outregs.x.bx&2)status=RIGHT_PRESSED;return (status);}/*设置鼠标指针位置函数*/int setMousePos(int x,int y){union REGS inregs,outregs;/*入口参数AH=4,设置鼠标指针位置*/inregs.x.ax=4;inregs.x.cx=x;inregs.x.dx=y;int86(0x33,&inregs,&outregs);}/*绘制鼠标函数*/void DrawMouse(float x,float y){line(x,y,x+5,y+10);line(x,y,x+10,y+5);line(x+5,y+10,x+10,y+5);line(x+7,y+8,x+12,y+13);line(x+8,y+7,x+13,y+12);line(x+14,y+12,x+13,y+13); /*利用line函数一条一条绘制鼠标形状*/ }void init() /*进行相关图形驱动*/{int gdriver, gmode, i, j;gdriver = DETECT;registerbgidriver(EGA VGA_driver);initgraph(&gdriver, &gmode, "");}void box(int startx,int starty,int high,int width) /*框框的建立*/{int i;gotoxy(startx,starty);putch(0xda);for (i=startx+1;i <width;i++)putch(0xc4);putch(0xbf);for(i=starty+1;i <high+starty;i++){gotoxy(startx,i);putch(0xb3);gotoxy(width,i);putch(0xb3);}gotoxy(startx,starty+high-1);putch(0xc0);gotoxy(startx+1,starty+high-1);for(i=startx+1;i <width;i++)putch(0xc4);putch(0xd9);return;}。

相关文档
最新文档