电子英汉词典设计系统

合集下载

java课程设计---英汉电子词典

java课程设计---英汉电子词典

课程设计报告课程设计名称Java语言程序设计专业信息管理与信息系统目录一、设计分析 (1)二、数据流程图 (1)三、操作方法及试验结果 (2)1、菜单窗口 (2)2、查询 (2)3、添加 (3)4、修改 (3)5、删除 (4)6、帮助 (4)四、设计体会 (5)一、设计分析英汉电子词典作为一个常用的学习工具,系统应该能完成词典的功能。

该系统主要用于实现英汉互译和编辑词典库中的信息的功能,系统拥有自己的数据库。

三、操作方法及试验结果(1)此窗口为菜单窗口,用户可在此窗口内选择应用的内容。

其中文件目录中包括:英汉词典,汉英词典,备份文库。

编辑目录中包括:添加,修改,删除。

(2)用户可在窗口内输入要查询的单词或中文意思,输入完毕后点击查询将出现次单词的解释或中文对应的单词。

如输入的单词不存在词库中,则显示查无此单词。

(3)若用户需要在词库中添加新的单词,则选择单词的添加。

用户可输入想要添加的单词及其解释。

单击确定后,次单词保存在词库中。

(4)用户想要修改词库中已存在的单词,可选择单词的修改。

用户可对该单词及其解释进行修改。

修改并保存后单击确定,系统将提示用户记录修改成功。

(5)想要删除词库中已存在的单词,可选择单词的删除。

输入想要删除的单词,点击确定后,此单词及其解释一并删除。

删除后,系统提示用户单词删除成功,若没有找到要删除的单词,系统提示用户不存在此单词。

(6)用户可点击帮助来更好的了解电子词典的功能及其用法。

五、设计体会经过这次不到两周的课程设计真的让我们感触颇多啊!首先,知识方面,经过大二上学期一学期的学习,让我们对java的基础知识和操作环境和平台有了初步的了解和认识,但是这次设计中还是遇到了很多问题,尤其是数据库的创建和连接部分,由于以前接触这部分知识比较少,这次用到时感觉很陌生,我们在图书馆查阅了很多资料,并上网查询一些相关资料,功夫不负有心人,最后大家的努力终于看到了成果,这次成功不仅让我们的课程设计得以成功,更重要的是掌握了更多以前不熟悉的知识,为以后的学习和实践打下基础。

电子词典系统的设计与实现5.0

电子词典系统的设计与实现5.0
1.1 前言......................................................................................................................................... 1 1.2 设计目的................................................................................................................................. 1 1.3 相关技术................................................................................................................................. 1
第三章 数据库设计..................................................................................................... 16
3.1 数据库系统设计................................................................................................................... 16 3.2 电子词典系统数据表结构................................................................................................... 16

电子词典_java课程设计

电子词典_java课程设计

电子词典_java课程设计电子词典是一种为帮助人们翻译生词和掌握语言知识的电子设备,相对于传统的纸质词典或人工翻译,它的优点在于便捷性和实用性。

在Java课程设计中,我们可以借助Java语言的强大功能和开放性,开发出一个功能强大、易用且自适应的电子词典应用程序。

一、项目需求在Java课程设计中,我们需要实现一个电子词典应用程序,满足以下需求:1. 拥有搜索和翻译功能2. 可以支持中英双语3. 具备简单易用的用户界面4. 词库可通过文件导入导出5. 可以查询单词使用次数以及最近搜索记录二、实现过程1. 数据库设计我们需要设计一个简单的数据库来存储单词和其对应的含义、使用次数和最近查询时间等信息。

在Java语言中,我们可以使用JDBC(Java Database Connectivity)实现对数据库的访问。

常见的数据库管理系统包括MySQL,Oracle等。

2. 用户界面设计为了让用户更方便地使用我们的电子词典应用程序,在用户界面设计上,我们需要使用Java Swing技术实现一个简单易用的GUI(Graphical User Interface)界面。

常见的GUI组件包括Button,Label,TextField等,我们可以利用它们的特性来实现输入、输出和按钮功能等功能。

3. 实现功能模块搜索功能模块:实现单词的中英文翻译和查询。

我们可以使用JDBC方式查询数据库中存储的单词及其含义,并将其显示在用户界面上。

导入导出模块:词库的导入和导出可以使用文件I/O (Input/Output)实现。

可以使用Java自带的File类进行文件读写操作,并将文件中的内容导入到数据库中。

同样,也可以将数据库中的数据导出到文件中。

查询记录模块:用户查询记录和单词使用次数的统计,可以使用Java中的HashMap数据结构实现。

我们可以使用HashMap类,将查询记录和单词使用次数存储起来,并实现方法来更新和查询查询记录和单词使用次数。

JAVA电子英汉词典课程设计

JAVA电子英汉词典课程设计
4、1程序流程图9
4、2关键算法与技术实现11
5、1系统测试方案20
5、2运行结果分析21
六、设计体会ﻩ25
一、设计任务与要求
1
通过本课程设计实践,达到以下目得:
(1)培养学生严谨务实得工作态度,并在老师得指导下,提高分析问题与解决问题得能力,促进理论联系实际学风养成.
(2)巩固与加深对面向对象程序设计得基本概念、基本理论与实现技术得理解.
(3)掌握Java开发得主要环境与工具,掌握面向对象得常用控件得使用方法。
(4)初步掌握面向对象系统分析与设计得基本方法与步骤,并能针对简单得实际应用问题进行初步地分析与设计。
(5)掌握Java编程语言,并针对具体应用问题进行编程实现.
(6)通过撰写课程设计论文,锻炼学生科技论文写作能力.
电子英汉词典
明确各功能之间得联系,绘制出数据流程图,如下图所示:
4
菜单窗口
classDataWindowextendsJFrameimplementsActionListener
try{
ﻩfis =new(fromfile);
ﻩﻩﻩintbytesRead;//定义变量来存储输入流中读取出来得文件
ﻩﻩﻩbyte[]buf =newbyte[4*1024];//4K buffer
ﻩ}
ﻩcatch(ClassNotFoundException e){}
//建立桥接器
Connection Ex1Con= DriverManager、getConnection("jdbc:odbc:03”,"”,””);
ﻩStatement Ex1Stmt=Ex1Con、createStatement();
(1)硬件环境

电子英汉词典设计

电子英汉词典设计

电子英汉词典设计
设计电子英汉词典时需要考虑以下几个方面:
1.用户界面设计:界面应该简洁、易于操作、符合用户习惯。

可以采用分级菜单、框等方式提供快速查找功能,同时可以增加书签、历史记录等功能方便用户查找历史查询和常用单词。

2.数据库设计:词典需要建立一个包含英汉词汇的数据库,并根据词汇的不同特性进行分类和组织。

可以考虑使用索引提高单词查询的速度。

此外,还可以加入发音、词性和例句等信息增加词典的实用性。

3.检索算法设计:根据用户的输入,设计检索算法提供准确的结果。

可以考虑支持模糊、拼写纠错等功能。

4.多平台支持:考虑到用户使用的不同平台(例如PC、手机等),需要设计支持不同操作系统和设备的版本。

5.兼容性和可扩展性:设计电子词典时需要考虑兼容各种文件格式,如PDF、DOC等,以便用户能够导入自己的文档进行单词查询。

同时,还需要考虑词典的可扩展性,即能够不断添加新的单词、释义和词组。

最后,在设计电子英汉词典时还需要考虑用户的反馈和需求,进行不断的优化和更新,提高用户体验。

电子英汉词典课程设计

电子英汉词典课程设计

课程设计报告2020~2021学年第一学期课程可视化程序设计课程设计题目电子英汉词典院(系): 计算机学院(软件学院)姓名学号专业班级2019级计科2班指导教师2020年 12 月 31 日目录第一章绪论 (1)1.1 课题背景及意义 (1)1.2 开发环境及技术 (2)第二章概要设计 (2)2.1页面设计 (2)2.1.1 系统首页设计 (2)2.1.2 注册界面设计 (3)2.2 数据库设计 (4)2.2.1 数据库概念结构设计 (4)2 2.2数据库逻辑结构设计 (6)2.2.3 数据库物理结构设计 (7)第三章功能详细设计与实现 (8)3.1实现的全部功能表 (9)3.2功能1 (10)3.3功能2 (11)3.4功能3 (12)3.5功能4 (13)3.6功能5 (14)3.7功能6 (15)3.8功能7 (16)第四章检测及评价 (17)第五章结语 (23)第一章绪论当今时代是信息化时代,而信息的数字化也越来越被人们所重视,所以,数字化技术的重要性也逐渐体现了出来,主要体现在以下几个方面: 数字化是数字计算机的基础,数字化是软件技术的基础,是智能技术的基础,数字化是信息社会的技术基础,数字化是信息社会的经济基础。

词典作为一种为大众服务的工具书,已经渐渐退居二线了,进而出现了另一种查找方式更加简便,更加精确,词汇量更加丰富而且随身携带更加方便的工具,那就是电子英汉词典,应该说这是一个新旧交替的过程,电子英汉词典取代传统词典只是时间的问题。

所以说电子词典的发展前景是明朗的,电子英汉词典生产厂家也如同雨后春笋般崛起了。

电子英汉词典是一种将传统的印刷词典转成数码方式、进行快速查询的数字学习工具。

电子英汉词典以轻便易携、查询快捷、功能丰富等特点,成为21世纪学生学习生活、社会人士移动办公的掌上利器。

它不仅可实现英译汉、汉译英的基本翻译功能,还可以让用户根据自己的需要添加、修改、删除词库,形成自己的词库。

电子词典系统设计实验报告

电子词典系统设计实验报告

电子词典系统设计实验报告12121583 曹连强周四6-8一、项目要求:1、在实验板上设计实现一个无操作系统的简易电子词典2、设计友好的人机交互界面3、:字符输入、功能选择、英汉翻译。

二、电子词典系统实现具体功能:1.能够通过键盘输入英文。

键盘作为本系统中最主要的输入设备,需要完成26个英文字母的输入,并且需要上翻页,下翻页,上一行,下一行,翻译,退格等功能。

要求键盘至少要有16个按键,每个按键都可以被处理器及时,准确地读入。

2.提供友好的人机界面,将输入的内容和翻译的结果显示在LCD的相应区域内。

3. 对输入的单词即时翻译。

4.可以记忆3个已经查询过的的单词。

在无操作系统的电子词典系统中,由于是单任务环境,因此此时系统的各个功能模块均按照顺序执行。

初始化后,即进入翻译待机状态,等待用户的输入操作。

当用户输入操作发生后,系统调用键盘或触摸屏中断进行键值读取,将键值传给主函数中的系统功能实现模块,该模块按不同的输入键值进行相应的功能选择,最后将此次操作的结果输出到LCD上。

三、程序设计可将电子词典的软件设计分为如下几个主要模块:键值处理、翻译、词库设计和LCD 显示。

1、键值处理电子词典的输入设备为键盘和触摸屏,要完成的功能为:(1)键盘:10个英文字母和6个功能键输入(2)触摸屏:6各功能键的输入2、翻译:3、词库设计翻译功能中通过将输入单词和词库中相应的单词进行比较得到要显示的翻译结果,因此,词库可采用结构体实现,此结构中包括4项:英文单词、词性、汉语释意、英文例句。

4、LCD显示功能翻页、选行及翻页结果的输出都可以归到LCD显示功能中,这些功能都可以通过调用LCD 实验中的相关函数完成。

四.设计程序////////////////////////////////////////////////////////////#include "Ts_sep.h"#include <string.h>///////////////////////////////////////////////////////////#include "def.h"#include "2410lib.h"#include "option.h"#include "2410addr.h"#include "interrupt.h"#include "lcdlib.h"//#define STN_LCD#define TFT_8_0/////////////////8888888////////////////////////////#define LOOP 1#define ADCPRS 39#define TS_JUSTIFY_LEFTTOP 1#define TS_JUSTIFY_RIGHTBOT 2#define TS_START 3///////////////////8888888888888888//////////////////////void Lcd_Disp_Char(void);void Lcd_Disp_Grap(void);void Frame(void);//设置背景框架void Clearscreen(void);//清屏//void Key_init(void);//初始化键盘void Cursor(int flag);void CursorCl(int flag);void delay( int count );void disp();void translate(int num);static int x=0,y=0,letter=0,flag=0,wei=0,prev[5],i,j;//函数里有调用我换成全局变量int which[20];//此时满足罗列单词int word,w;int m,n;////////////////////////////////////////////////int ts_status = TS_JUSTIFY_LEFTTOP;int ts_lefttop_x, ts_lefttop_y, ts_rightbot_x, ts_rightbot_y;int ts_lcd_x, ts_lcd_y;///////////////////////////////////////////////typedef struct{int w; //单词对应的值int o;int r;int d;int s;char c[20]; //英文单词char e[20]; //翻译}str_word;str_word dictionary[20]={{1,3,5,0,0,"ACE","王牌"},{2,5,5,0,0,"BEE","蜜蜂"},{1,4,4,0,0,"ADD","增加,计算"},{2,1,4,0,0,"BAD","坏的"},{4,5,3,1,4,"DECAD","十;十数"}};////////////////////////////////////////////////////////void Adc_or_TsSep() __attribute__ ((interrupt("IRQ")));void Adc_or_TsSep(void){int i;U32 Ptx[6], Pty[6];rINTSUBMSK |= (BIT_SUB_ADC|BIT_SUB_TC); // Mask sub interrupt (ADC and TC)// TC(Touch screen Control) Interruptif(rADCTSC & 0x100){PRINTF("\nStylus Up!!\n");rADCTSC &= 0xff; // Set stylus down interrupt}else{PRINTF("\nStylus Down!!\n");// <X-Position Read>rADCTSC=(0<<8)|(0<<7)|(1<<6)|(1<<5)|(0<<4)|(1<<3)|(0<<2)|(1);// Down,Hi-Z,AIN5,GND,Ext vlt,Pullup Dis,Normal,X-positionfor(i=0;i<LOOP;i++); //delay to set up the next channelfor(i=0;i<5;i++){rADCCON|=0x1; // Start X-position conversionwhile(rADCCON & 0x1); // Check if Enable_start is lowwhile(!(0x8000&rADCCON)); // Check ECFLGPtx[i]=(0x3ff&rADCDAT0);}Ptx[5]=(Ptx[0]+Ptx[1]+Ptx[2]+Ptx[3]+Ptx[4])/5;// <Y-Position Read>rADCTSC=(0<<8)|(0<<7)|(1<<6)|(1<<5)|(0<<4)|(1<<3)|(0<<2)|(2);// Down,GND,Ext vlt,Hi-Z,AIN7,Pullup Dis,Normal,Y-positionfor(i=0;i<LOOP;i++); //delay to set up the next channelfor(i=0;i<5;i++){rADCCON|=0x1; // Start X-position conversionwhile(rADCCON & 0x1); // Check if Enable_start is lowwhile(!(0x8000&rADCCON)); // Check ECFLGPty[i]=(0x3ff&rADCDAT1);}Pty[5]=(Pty[0]+Pty[1]+Pty[2]+Pty[3]+Pty[4])/5;rADCTSC=(1<<8)|(1<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(0<<2)|(3);// Up,GND,AIN,Hi-z,AIN,Pullup En,Normal,Waiting modePRINTF("TOUCH Position = (%04d, %04d) ", Ptx[5], Pty[5]);m=Ptx[5];n=Pty[5];if(ts_status == TS_JUSTIFY_LEFTTOP){ts_lefttop_x = Ptx[5];ts_lefttop_y = Pty[5];ts_status = TS_JUSTIFY_RIGHTBOT;PRINTF("\nLeft top (0, 0) -> (%04d, %04d)\n", ts_lefttop_x, ts_lefttop_y);PRINTF(" 请触摸屏幕右下角位置\n");}else if(ts_status == TS_JUSTIFY_RIGHTBOT){ts_rightbot_x = Ptx[5];ts_rightbot_y = Pty[5];ts_status = TS_START;PRINTF("\nRight bottom (319, 239) -> (%04d, %04d)\n", ts_rightbot_x, ts_rightbot_y);PRINTF("[2] 请点击触摸屏\n");}else{/* ts_lcd_x = 320 - (Ptx[5] - ts_rightbot_x) * 1.0 / (ts_lefttop_x - ts_rightbot_x) * 320.0 ;ts_lcd_y = (Pty[5] - ts_lefttop_y) * 1.0 / (ts_rightbot_y - ts_lefttop_y) * 240.0 ;if(ts_lcd_x > 319) ts_lcd_x = 319;if(ts_lcd_x < 0) ts_lcd_x = 0;if(ts_lcd_y > 239) ts_lcd_x = 239;if(ts_lcd_y < 0) ts_lcd_x = 0;PRINTF("LCD Position = (%04d, %04d)\n", ts_lcd_x, ts_lcd_y);*/}}rSUBSRCPND |= BIT_SUB_TC;rINTSUBMSK =~ (BIT_SUB_TC); // Unmask sub interrupt (TC)ClearPending(BIT_ADC);}void Ts_Sep(void){PRINTF("------触摸屏测试------\n");PRINTF("[1] 触摸屏校准\n 请触摸屏幕左上角位置\n");ts_status = TS_JUSTIFY_LEFTTOP;rADCDLY = (50000); // ADC Start or Interval DelayrADCCON = (1<<14)|(ADCPRS<<6)|(0<<3)|(0<<2)|(0<<1)|(0);// Enable Prescaler,Prescaler,AIN7/5 fix,Normal,Disable read start,No operationrADCTSC = (0<<8)|(1<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(0<<2)|(3);// Down,YM:GND,YP:AIN5,XM:Hi-z,XP:AIN7,XP pullup En,Normal,Waiting for interrupt modepISR_ADC = (unsigned)Adc_or_TsSep;rINTMSK &=~(BIT_ADC);rINTSUBMSK =~(BIT_SUB_TC);// while(1);delay(200);// rINTSUBMSK |= BIT_SUB_TC;//rINTMSK |= BIT_ADC;// PRINTF("----触摸屏测试结束----\n");}//////////////////////////////////////////////////////void Main(void){unsigned char ch='1';/* 配置系统时钟 */ChangeClockDivider(1,1); // 1:2:4ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz/* 初始化端口 */Port_Init();/* 初始化串口 */Uart_Init(0,115200);Uart_Select(0);/* 打印提示信息 */PRINTF("\n---LCD测试程序---\n");PRINTF("\n请将UART0与PC串口进行连接,然后启动超级终端程序(115200, 8, N, 1)\n");/* LCD初始化 */Lcd_Port_Init();#ifdef STN_LCDLcd_Init(MODE_CSTN_8BIT);Glib_Init(MODE_CSTN_8BIT);Lcd_CstnOnOff(1);Glib_ClearScr(0xff, MODE_CSTN_8BIT);#else#ifdef TFT_8_0rGPCCON &= ~(3<<8);rGPCCON |= (2<<8);Lcd_Init(MODE_TFT_16BIT_640480);Glib_Init(MODE_TFT_16BIT_640480);Glib_ClearScr(0xffff, MODE_TFT_16BIT_640480);Lcd_PowerEnable(0, 1);Lcd_EnvidOnOff(1);#elseLcd_Init(MODE_TFT_16BIT_240320);Glib_Init(MODE_TFT_16BIT_240320);Glib_ClearScr(0xffff, MODE_TFT_16BIT_240320);Lcd_PowerEnable(0, 1);Lcd_EnvidOnOff(1);#endif#endif#define LCD_DISP_CHAR#ifdef LCD_DISP_CHARLcd_Disp_Grap();#endif//布局Glib_FilledRectangle(0,0,640,240,0xffff); //白底// Glib_Rectangle(60,80,620,110,0x0000);//首字母框Glib_Rectangle(60,80,620,440,0x0000);//主框Glib_Line(290,110,290,410,0x0000);//分割线1Glib_Line(60,110,620,110,0x0000);//分割线2Glib_Line(60,410,620,410,0x0000);//分割线3Glib_Line(172,410,172,440,0x0000);//分割线4Glib_Line(284,410,284,440,0x0000);//分割线5Glib_Line(396,410,396,440,0x0000);//分割线6Glib_Line(508,410,508,440,0x0000);//分割线7// Glib_Rectangle(520,80,620,120,0x0000);//upGlib_disp_hzk16(110,420,"上", 0x0000);// Glib_Rectangle(520,140,620,180,0x0000);//downGlib_disp_hzk16(222,420,"下", 0x0000);// Glib_Rectangle(520,200,620,240,0x0000);//DelGlib_disp_hzk16(334,420,"清屏", 0x0000);// Glib_Rectangle(520,260,620,300,0x0000);//EnterGlib_disp_hzk16(446,420,"查询", 0x0000);// Glib_Rectangle(520,320,620,360,0x0000);//CancelGlib_disp_hzk16(558,420,"返回", 0x0000);Ts_Sep();while(1)//大循环等键按下{Cursor(flag);ch = Key_GetKeyPoll();/////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////if((m>=145&&m<237)&&(n>395&&n<540))ch='E';//qingpinif((m>=145&&m<237)&&(n>678&&n<830))ch='C';//Shangif((m>=145&&m<237)&&(n>540&&n<678))ch='D';//Xiaif((m>=145&&m<237)&&(n>57&&n<219))ch='B';///shanchuif((m>=145&&m<237)&&(n>219&&n<395))ch='F';//quedingm=n=0;/////////////////////////////////////////////////////////////////////////////// /////////////////////////////switch(ch){case '1'://aGlib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区letter=1;//1表示输入字母为1Glib_disp_hzk16(90+wei*20,90,"A", 0x0000);//显示界面显示aprev[wei]=1;//存放disp();//显示单词区的单词wei++;//下一个放字母位置if(wei>=5){Glib_disp_hzk16(340,90,"已满", 0x0000);//单词字母小于等于四个delay(1000);Glib_disp_hzk16(340,90,"已满", 0xffff);//清掉"已经满了"};//超出错误,只能查四位break;case '2'://bGlib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区letter=2;//1表示输入字母为1Glib_disp_hzk16(90+wei*20,90,"B", 0x0000);//显示界面显示aprev[wei]=2;//存放disp();//显示单词区的单词wei++;//下一个放字母位置if(wei>=5){Glib_disp_hzk16(340,90,"已满", 0x0000);//单词字母小于等于四个delay(1000);Glib_disp_hzk16(340,90,"已满", 0xffff);//清掉"已经满了"};//超出错误,只能查四位break;case '3'://cGlib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区letter=3;//1表示输入字母为1Glib_disp_hzk16(90+wei*20,90,"B", 0x0000);//显示界面显示aprev[wei]=3;//存放disp();//显示单词区的单词wei++;//下一个放字母位置if(wei>=5){Glib_disp_hzk16(340,90,"已满", 0x0000);//单词字母小于等于四个delay(1000);Glib_disp_hzk16(340,90,"已满", 0xffff);//清掉"已经满了"};//超出错误,只能查四位break;case '4'://dGlib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区letter=4;//1表示输入字母为1Glib_disp_hzk16(90+wei*20,90,"D", 0x0000);//显示界面显示aprev[wei]=4;//存放disp();//显示单词区的单词wei++;//下一个放字母位置if(wei>=5){Glib_disp_hzk16(340,90,"已满", 0x0000);//单词字母小于等于四个delay(1000);Glib_disp_hzk16(340,90,"已满", 0xffff);//清掉"已经满了"};//超出错误,只能查四位break;case '5'://eGlib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区letter=5;//1表示输入字母为1Glib_disp_hzk16(80+wei*20,90,"E", 0x0000);//显示界面显示aprev[wei]=5;//存放disp();//显示单词区的单词wei++;//下一个放字母位置if(wei>=5){Glib_disp_hzk16(340,90,"已满", 0x0000);//单词字母小于等于四个delay(1000);Glib_disp_hzk16(340,90,"已满", 0xffff);//清掉"已经满了"};//超出错误,只能查四位break;case '6'://fbreak;case '7'://gbreak;case '8'://hbreak;case '9'://ibreak;case '0'://jbreak;case 'A'://kletter=11;break;case 'C'://上flag--;if(flag>=0&&flag<=3){Cursor(flag);//单词列表选中变色CursorCl(flag+1);}//再上恢复刚才那条的背景色else flag=0;break;case 'D'://下flag++;if(flag>=0&&flag<=3){Cursor(flag);CursorCl(flag-1);}else flag=3;break;case 'E'://cancel清屏Glib_FilledRectangle(70,90,339,109,0xffff);//先清单词区Glib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区Glib_FilledRectangle(300,120,610,400,0xffff);//清翻译区for(j=0;j<=10;j++){which[j]=0;};letter=0;wei=0;for(j=0;j<=5;j++){prev[j]=0;};break;case 'F'://enter确定Glib_FilledRectangle(300,120,610,400,0xffff);//主翻译区if(flag>=0&&flag<=3)translate(which[flag]);//显示结果break;case 'B'://del删除Glib_FilledRectangle(70,120,280,400,0xffff);//先清罗列单词区letter=0;wei--;prev[wei]=0;//上一位变0Glib_FilledRectangle(70+wei*30,90,70+wei*30+20,109,0xffff);//消掉一个字母wei--;disp();wei++;break;default:Glib_disp_hzk16(500,90,"←请输入单词", 0x0000);break;}}}void disp(){y=0;//初始单词显示位置for(i=0;i<=20;i++){if((dictionary[i].w==prev[0])&&(wei==0)){//第一个字母正which[y]=i;//存放哪几个单词显示了Glib_disp_hzk16(80,120+32*y,dictionary[i].c, 0x0000);//显示单词y++;//位置改变}if((dictionary[i].w==prev[0])&&(dictionary[i].o==prev[1])&&(wei==1)){//前两个字母正确which[y]=i;//存放哪几个单词显示了Glib_disp_hzk16(80,120+32*y,dictionary[i].c, 0x0000);//显示单词y++;//位置改变}if((dictionary[i].w==prev[0])&&(dictionary[i].o==prev[1])&&(dictionary[i].r==pr ev[2])&&(wei==2)){//前3个字母正确which[y]=i;//存放哪几个单词显示了Glib_disp_hzk16(80,120+32*y,dictionary[i].c, 0x0000);//显示单词y++;//位置改变}if((dictionary[i].w==prev[0])&&(dictionary[i].o==prev[1])&&(dictionary[i].r ==prev[2])&&(dictionary[i].d==prev[3])&&(wei==3)){//前4个字母正确which[y]=i;//存放哪几个单词显示了Glib_disp_hzk16(80,120+32*y,dictionary[i].c, 0x0000);//显示单词y++;//位置改变}}}void translate(int num){//显示单词选项3个Glib_disp_hzk16(300,120,dictionary[num].e, 0x0000);}//void Clearscreen(void) //清屏//{// Glib_FilledRectangle(65,81,499,99,0xffff);// Glib_FilledRectangle(65,121,499,439,0xffff);// Glib_Line(240,120,240,440,0x0000);//}void Cursor(int flag){Glib_FilledRectangle(65,121+flag*32,75,153+flag*32,0x55);}void CursorCl(int flag){Glib_FilledRectangle(65,121+flag*32,75,153+flag*32,0xffff);}void Lcd_Disp_Grap(void){int i,j;for(j=0;j<240;j++)for(i=0;i<320;i++) //RRRGGGBBPutPixel(i,j,((i/40)<<5)+((j/30)<<2)+(((j/15)%2)<<1)+((i/20)%2)); }void delay( int count ){int cnt;for( count = count; count>0; count--)for( cnt = 0; cnt < 100; cnt++);}。

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

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

英汉电子词典设计报告设计C语言C语言程序设计设计报告:英汉电子词典设计目标:本次设计的目标是开发一个基于C语言的英汉电子词典,实现用户通过输入英文单词或汉字查询其对应的中文释义或英文翻译。

同时,用户还可以对查询结果进行添加、修改、删除操作,方便用户自定义个性化词库。

设计思路:1.使用C语言实现用户界面,包括菜单选项和用户输入功能;2.使用文件管理系统进行词库的存储和读取,并实现对词库的增删改查功能;3.使用字符串匹配算法进行单词或汉字的查询,保证查询的精确性;4.使用二叉查找树(BST)作为数据结构,实现词库的快速查找和插入功能。

模块设计:1.用户界面模块:-显示菜单选项,包括查询、添加、修改、删除和退出;-提示用户输入相应选项,并获取用户输入;2.文件管理模块:-创建存储词库的文件,并检查文件是否存在;-实现读取文件内容到内存和将内存内容写入文件的功能;3.数据结构模块:-设计结构体,包含英文单词和中文释义;-使用二叉查找树作为词库的数据结构,实现快速查找和插入功能;4.查询模块:-根据用户输入的英文单词或汉字,进行查询;-使用字符串匹配算法进行匹配,找到对应的词条并显示;5.添加模块:-接受用户输入的英文单词和中文释义,并将其插入词库中;6.修改模块:-接受用户输入的英文单词和新的中文释义,并替换原有词条的中文释义;7.删除模块:-根据用户输入的英文单词或汉字,从词库中删除对应的词条;测试计划:-对每个模块进行单元测试,确保其功能正常;-集成测试,检查各个模块之间的交互是否正常;-进行用户测试,验证整个电子词典系统的可用性和稳定性。

总结:通过以上的设计,我们可以实现一个基于C语言的英汉电子词典,能够方便用户进行英文单词和汉字的查询,并支持用户对词库进行个性化操作。

该电子词典设计简洁,功能完备,并且具有较好的扩展性,适用于不同平台和系统的实际应用。

电子英汉词典设计系统

电子英汉词典设计系统

电子英汉词典设计系统
系统的主要功能包括:
1.用户登录:用户能够通过注册和登录功能进入系统,并能够保存自
己的查询记录和个人设置。

2.查询功能:用户可以输入需要查询的英文词汇或汉语词汇,系统会
通过内置的词典数据库进行查询,并将相应的词条以及对应的词义、例句
等信息返回给用户。

4.功能:用户能够通过关键字系统中已有的词汇,并能够按照词义、
词性、例句等进行筛选和排序。

5.随机词汇功能:用户可以通过系统提供的随机词汇功能,随机获取
系统中的一个词汇并显示其词义和例句,帮助用户扩展词汇量。

系统的设计要考虑以下几个方面:
1.用户界面设计:界面应简洁明了,并提供良好的用户体验,同时要
兼顾不同显示设备的适配性。

3.查询算法设计:要设计高效的查询算法,能够在用户输入查询词汇
后快速找到对应的词条并返回相关信息。

4.安全性设计:用户登录信息需要进行加密保存,防止用户数据泄露
和恶意攻击。

5.扩展性设计:系统应具备良好的扩展性,能够方便地添加新的功能、扩展新的词库和词汇信息等。

6.性能优化:对于大规模的词库,需要考虑词典查询的性能优化,尽量减少查询时间和系统资源占用。

以上是电子英汉词典设计系统的大致概述,具体的设计和实现过程还需要根据系统需求和技术能力来进一步完善。

电子英汉词典设计系统

电子英汉词典设计系统

前言《C语言程序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。

是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。

通常,课程设计的课题比平时的习题复杂得多,也更接近实际。

课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。

为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。

学生可任选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。

学习委员将课程设计报告与磁盘(缺一不可)收齐后交指导老师。

课程要求一、目的全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。

二、基本情况课程类别:必修课课程学分:1学分课程学时:1周课程对象:电气工程0781、0782、0783、0784、0785、0786三、时间安排四、调试过程规范化要求1)需要分析分析系统功能需求以及用户操作流程。

2)概要设计在需求分析的基础上,确定系统总体框架(系统功能结构图)。

3)详细设计定义数据储存结构,并设计实现系统功能的具体算法,画出各算法的工作流程图。

4)代码设计根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返回到主菜单,继续选择其他功能执行。

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

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

英汉电子词典设计报告_设计_C语言_C语言程序设计设计报告英汉电子词典一、设计目标:设计一个英汉电子词典,实现用户输入英文单词能够得到对应的中文翻译,并提供简单的用户界面。

二、设计思路:1.定义词典数据库结构:使用结构体来表示一个词条,包括英文单词和中文翻译两个成员变量。

2.读取词典文件:从外部文件中读取词典数据,并将数据存储到内存中的数组中。

3.用户交互界面设计:使用基本的文本界面,提示用户输入英文单词。

4.查询单词:根据用户输入的英文单词,在内存中的数组中查找对应的词条,并将中文翻译打印出来。

5.处理用户输入:对用户输入的英文单词进行处理,如将大写字母转换为小写字母,去除多余的空格等。

三、程序设计:1.定义词典结构体:```ctypedef structchar word[100];char translation[100];} DictionaryEntry;```2.读取词典文件:```cvoid readDictionary(DictionaryEntry* dictionary, int* size) //打开词典文件FILE* file = fopen("dictionary.txt", "r");if (file == NULL)printf("Unable to open dictionary file\n");return;}//逐行读取词典数据char line[256];int i = 0;while (fgets(line, sizeof(line), file))sscanf(line, "%s %s", dictionary[i].word,dictionary[i].translation);i++;}//设置词典大小*size = i;//关闭文件fclose(file);```3.用户交互界面设计:```cvoid printUserInterfacprintf("Please enter an English word: ");```4.查询单词:```cvoid searchWord(DictionaryEntry* dictionary, int size, char* word)for (int i = 0; i < size; i++)if (strcmp(dictionary[i].word, word) == 0)printf("%s: %s\n", dictionary[i].word,dictionary[i].translation);return;}}printf("Word not found\n");```5.处理用户输入:```cvoid processInput(char* input)//去除输入字符串中的多余空格int len = strlen(input);int j = 0;for (int i = 0; i < len; i++)if (input[i] != ' ')input[j] = tolower(input[i]);j++;}}input[j] = '\0';```四、总结:通过以上设计思路和程序设计,实现了一个简单的英汉电子词典。

嵌入式课程设计电子词典硬件设计

嵌入式课程设计电子词典硬件设计

嵌入式课程设计电子词典硬件设计嵌入式系统是现代电子技术发展的重要分支之一,它应用于各个领域,如航空航天、军事、医疗、工业、家庭等。

随着人们对信息化的关注和需求增加,软件和硬件系统的嵌入式技术也越来越成熟和普及。

电子词典是一种便携式的电子产品,它的主要功能是存储和查询语言和文化知识,同时具备语音提示和翻译、笔画输入等多种功能特点。

电子词典在课堂教学、商务交流、旅游出行等方面都有着广泛的应用场景。

为了满足用户的需求和提高电子词典的使用效率,本文将介绍一种基于嵌入式系统的电子词典硬件设计方案。

1.方案介绍本方案采用单片机、LCD显示屏、扬声器、按键、存储卡等硬件组件,通过软件实现词典功能的设计。

电子词典具备中英文互译、生词选读、笔画输入和语音播放等多种功能。

2.硬件设计1)单片机本方案采用STM32F103ZE系列的单片机,它具备低功耗、高性能和强大的计算能力,可以支持多种接口和功能。

单片机主要负责处理和控制硬件组件的运行,如LCD显示、按键输入、存储卡读取等。

2)LCD显示屏本方案采用3.5英寸LCD显示屏,分辨率为320*240,具备较高的清晰度和亮度,显示速度也很快。

显示屏可以显示中英文字符和图形,同时还支持触摸屏输入和反光功能。

3)扬声器本方案采用比较小的扬声器,主要负责音频播放和提示功能。

扬声器可以播放中英文发音和语音提示,同时还支持音量调节和多种音效。

4)按键本方案采用5个按键,主要负责电子词典的输入和控制功能。

按键分别为菜单键、返回键、上翻键、下翻键和确认键,在电子词典的操作中起到了关键作用。

5)存储卡本方案采用TF存储卡,可以存放大量的词库和语音信息,具有较高的存储容量和数据传输速度。

存储卡可以实现电子词典的离线使用和在线更新,满足不同用户的需求。

3.软件设计本方案采用C语言编程,结合Keil嵌入式开发环境,充分利用STM32F103ZE单片机的资源和功能,完成了电子词典的软件设计和编程。

电子行业电子词典系统

电子行业电子词典系统

# 电子行业电子词典系统摘要本文将介绍一个电子行业的电子词典系统。

该系统旨在为电子行业从业者提供一个方便且实用的工具,帮助他们快速查找和理解与电子行业相关的术语和概念。

本文将详细介绍系统的功能、特点以及设计思路,并通过一些示例来说明系统的使用方法。

希望通过这个系统,能够提高电子行业从业者的工作效率和学习效果。

1. 引言电子行业是一个快速发展且充满了各种专业术语和概念的行业。

无论是学习电子工程的学生还是从事电子行业的职业人士,他们都需要掌握大量的专业知识。

在学习和工作过程中,经常会遇到一些专业术语和概念不清楚的情况,这时一个电子词典系统就变得非常重要了。

本文将介绍一个专门为电子行业设计的电子词典系统,帮助电子行业从业者快速查找和理解相关的术语和概念。

2. 系统功能电子行业电子词典系统主要包括以下功能:2.1 术语查询用户可以通过输入关键词来查询相关的电子行业术语。

系统会根据用户输入的关键词,在数据库中查找匹配的术语,并返回相应的解释和示例。

用户可以根据需要调整查询结果的排序方式,以获取更加准确的结果。

2.2 概念解释除了术语查询,系统还提供了对电子行业相关概念的解释。

用户可以通过输入一个概念的名称,系统将返回与该概念相关的详细解释和说明。

2.3 历史记录系统还会自动保存用户的查询历史记录,用户可以随时查看之前的查询记录,并进行再次查询。

这个功能可以帮助用户更好地管理和回顾自己的学习和工作过程。

2.4 收藏夹用户可以将常用的术语或概念收藏起来,以便在需要的时候快速查找。

收藏夹功能使得用户可以直观地管理自己喜欢的词条,避免重复查询或遗忘。

3. 系统特点电子行业电子词典系统有以下特点:3.1 多语言支持系统支持多种语言,用户可以根据自己的需要设置查询的语言。

这样,不同语种的用户都可以方便地使用该系统进行查询。

3.2 多平台支持电子行业电子词典系统支持多平台使用,包括Windows系统、Mac系统、Android系统和iOS 系统等。

电子词典系统2

电子词典系统2

目录1 引言 (1)2.设计内容 (2)2.1 小组总体框架 (2)2.1.1 系统总体功能介绍 (2)2.1.2 系统总体功能模块图 (2)2.2 个人模块功能 (3)2.2.1词库备份 (3)2.2.2主界面 (3)2.3 小组分工表 (3)3数据库设计 (4)3.1 数据库需求分析 (4)3.2 数据库表设计 (4)4.功能实现 (5)4.1词库备份 (5)4.1.1词库备份介绍 (5)4.1.2程序源代码 (5)4.2主界面 (7)4.2.1主界面介绍 (7)4.2.2程序源代码 (8)结论 (8)致谢 (11)参考文献 (12)1 引言在这一周的课程设计中,我们小组开发的课题是电子词典功能的实现。

电子词典作为一种学习工具,有着不可估量的市场前景。

作为一名学生,我们在学习英语的时候会经常碰到很多的生词,有时,为了读懂一篇文章,经常是读文章用一小时,但是其中却有半个小时都在翻阅英语字典。

所以我们小组为了解决这一问题,才将选材方向定位于电子词典的功能实现,主要的目的就是为同学们解决这一问题。

在做电子词典功能实现的时候,我们小组主要从以下几个方面入手,即:英汉互译、汉英互译、单词发音。

在英译汉、汉译英这两个功能模块上,我们首先提供了一个查询界面,即使用者需要输入要查询的关键字,点击确定按钮,屏幕上就会出现其对应的答案。

在做这个模块的时候,我们主要解决了JAVA与数据库的链接问题,进而实现其功能。

在娱乐天地中,扫雷游戏和贪吃蛇游戏是用JAVA来实现的。

之所以要加入这一模块,是因为我们充分考虑到在学习疲惫之余可以让使用者能够有个放松的空间,同时也提高其整体的娱乐性。

从系统的可扩展性方面考虑,我们在系统中加入了对单词库的添加、删除、修改功能。

有了这个功能模块,将给予使用者带来很大的方便。

当然也存在一种情况,即刚开始接触而不懂得如何去使用电子词典,为此我们特地的加入了帮助界面,帮助界面是用JAVA小程序完成的。

电子英汉词典设计

电子英汉词典设计

电子英汉词典设计随着现代社会的快速发展,信息技术也在不断进步。

在这样的背景下,电子工具的发展也受到了广泛关注。

作为一种电子工具,英汉词典已成为学习英语和翻译工作中不可或缺的工具之一。

本文将讨论电子英汉词典的设计。

设计一个电子英汉词典需要考虑的元素很多。

首先,需要考虑的是界面设计。

这是因为,一个优秀的词典需要使用起来简单且易懂。

因此,词典的界面必须设计得清晰明了,让用户可以尽可能方便地找到自己需要的内容。

界面设计应注意排版规整、颜色搭配优雅、图标与文字的清晰度与美观度等因素。

其次,电子词典应该有简洁明了的操作界面。

用户应该能够轻松地输入或查找单词或短语,而无需经过繁琐的步骤。

此外,输入法的兼容性也是一个要考虑的因素。

用户可以根据自己的习惯使用不同的输入法,如果词典无法兼容多个输入法,那么用户的使用体验会大大降低。

除此之外,电子词典还应该能够提供全面的单词信息,包括音标、发音、例句、词义、词性等信息。

在此基础上,还应提供多种补充信息,例如同义词、反义词、派生词、词根、词缀等。

这些信息可以帮助用户更好地理解单词和句子。

此外,还可以内置简单的语法规则和语音练习软件,以便用户更好地学习英语。

在设计电子词典时要关注词典的可维护性和更新性。

包括词库的更新和功能的更新,以确保用户始终能够从词典中获得正确的信息。

另外,用户应当很容易地获得词库的更新程序和功能升级程序。

此外,在设计常见单词的词库时,需要有足够的例句、用法。

对于一些专业领域的单词,需要有足够的背景、应用范围、概念说明。

根据需求和用途不同,还需要考虑单词种类的广泛性和深度。

总之,设计一个优秀的电子英汉词典需要考虑到人性化的操作界面和易用性,实用性的包容性和详细度,功能的完善性和更新性,管理员的维护性和先进性等不同方面。

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

前言《C语言程序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。

是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。

通常,课程设计的课题比平时的习题复杂得多,也更接近实际。

课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。

为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。

学生可任选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。

学习委员将课程设计报告与磁盘(缺一不可)收齐后交指导老师。

课程要求一、目的全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。

二、基本情况课程类别:必修课课程学分:1学分课程学时:1周课程对象:电气工程0781、0782、0783、0784、0785、0786三、时间安排四、调试过程规范化要求1)需要分析分析系统功能需求以及用户操作流程。

2)概要设计在需求分析的基础上,确定系统总体框架(系统功能结构图)。

3)详细设计定义数据储存结构,并设计实现系统功能的具体算法,画出各算法的工作流程图。

4)代码设计根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返回到主菜单,继续选择其他功能执行。

源程序要求书写规范,结构清晰。

重点函数的重点变量。

重点功能部分均要求给出清晰的程序注释。

5)程序调试程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。

如果程序不能正常进行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析和改正。

如果程序能够基本正确地运行,可考虑增加若干基本的容错功能;另外尽量对现有的算法给出改进方案,并比较不同算法之间的优缺点。

五、设计报告及书写内容要求课程设计任务完成后,每位同学必须独立书写一份课程设计报告,注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。

课程设计报告的内容应包括以下五个部分:1)需求分析:包括设计题目、设计要求以及系统功能需求分析;概要设计:包括系统总体设计框架和系统功能模块图;2)详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;3)主要源程序代码:包括存储结构设计说明,以及完整源程序清单;4)调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等);5)总结:包括课程设计过程中的学习体会和收获、对c语言和本次课程设计的认识以及自己的建议等内容。

书写格式严格按所附要求书写。

附1:●课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。

●正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。

●正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。

正文总字数要求在5000字以上(不含程序原代码)。

目录一.封面 -------------------------------------------------------------------------1二.前言--------------------------------------------------------------------------2三.课程要求--------------------------------------------------------------------3四.需要分析--------------------------------------------------------------------7五.详细设计--------------------------------------------------------------------8六. 流程图---------------------------------------------------------------------10七. 调试分析-------------------------------------------------------------------12八. 心得体会------------------------------------------------------------------13九. 附录(源程序清单)----------------------------------------------------14【需要分析】课题三:电子英汉词典设计一、问题描述:英汉词典作为一个常用的学习工具,是我们经常要使用的。

该系统能完成一个简单的电子英汉词典的功能,如:单词的查找、增词、删除、修改和维护等工作。

二、功能描述:1)本词典采用一个包含N个数据的结构体数组,每个数据的结构应当包括:英文单词、词性、拼读音标、中文(汉语拼音)。

2)对单词和释义字符串长度的限定分别为不少于50个词条。

3)本系统显示这样的菜单:--------电子英汉词典--------1、输入新词汇2、删除词汇3、查找词汇4、修改词汇信息5、退出系统请选择系统功能项(1…5):三、算法提示:1、数据结构:结构体数组2、数据库结构:该系统的基本数据库如下表。

英文词性音标中文1char char char char四、测试数据:要求被选用的词条有50个左右,以中学的单词为主。

对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。

【详细设计】一、总体方案的选定:在了解该系统的功能后,可以通过运用函数、编译语句、数据类型来实现。

由于数据多,数据结构相似的特点,自然的想到用数组实现数据的存储,且总体数据结构应用文件的数据。

文件类型为结构体数据,数据库结构用文件来实现。

二、概要设计程序的模块组成及各个函数的功能:1.程序的模块组成:主函数: main();显示菜单函数:caidan();1〕查找单词函数:chaxun();2〕删除单词函数:zhuxiao();3〕添加单词函数:在caidan()中;读取字符函数:getch();2.各函数的主要功能:显示菜单函数:显示各菜单,并有添加功能。

查找单词函数:输入需要查找的单词,并输出单词的意思。

删除单词函数:输入需要的删除的单词,回车就能删除。

三、程序的抽象数据类型定义:词典的结构体数组:单词{ 单词;中文解释;}四、相关数据类型:英汉词典结构体数组struct hk{Char zhang[11];/*单词的长度,限度10个字母*/Char mi[22]/*中文解释的长度,限度10个汉字*/struct hk next;/*建立链表用的后指针*/}【流程图】(1)统计函数的下属子功能函数及调用示意图:(2)函数的下属子功能函数及其调用示意图:【调试分析】1、程序编译成功之后开始调试:1)根据提示将单词“word”添加入库,在效果查看中存在该单词则添加成功。

2)对词进行保存3)对存在的单词进行删除,在效果查看中不存在该单词则删除成功。

4)对已经存在的单词查询,能查询到则说明单词保存成功。

2.对结果进行分析:只对单词进行表面删除,而实质上并未删除。

应该将该链表中对应的该单词的节点删除。

【心得体会】课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说是无处不在。

因此,作为二十一世纪的大学生来说掌握计算机开发技术是十分重要的。

回顾起此次课程设计,至今我仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,经过一周的课程设计,我学到了许多,不仅巩固了以前所学过的知识,而且学到了很多在书上所没有学到过的知识,使我自己对C语言有了重新的认识,觉得它十分的重要,但掌握它又不是一件容易的事。

只要通过自己不停的思考,不断的上机实践。

才能够比较熟练的掌握好,在其中我们遇到了比较多的困难,因为其中有些知识我们并没有学到过,要自己去查找资料来完成。

在设计过程中遇到问题,可以说是困难重重,因为毕竟是第一次做的,难免会遇到各种各样的问题,同时在设计过程中发现了自己的不足之处,对以前的所学过的知识理解的不够深刻,掌握的不够牢固,比如说结构体……通过这次课程设计之后,觉得以前学过的知识要重新温习。

刚开始听说我们要设计英汉字典时心里没有一点底,毕竟C语言才刚学一学期就要编写如此复杂的应用程序。

但参考了许多资料和与几个有经验的学长们讨论后,编写思路漫漫清楚,开始了解它的基本方式和操作方法。

在不太熟悉的部分,我们能够充分体会到自己的自学能力,并发挥它,以及在设计过程中的团队作用,提高自己解决问题的能力。

在设计程序是也增加了自己的实践能力,通过翻阅有关文献获得了些自己原来不了解的知识。

从接触C语言到了解C语言是一个过程,是自身学习的过程。

俗话说师傅领进门,修行靠自身。

在编写过程中遇到的不解和麻烦都基本上是通过自身的反复琢磨和学长的帮助而解决的。

通过这段时间的课程设计,我认识到C语言是一门比较难的课程。

需要多花时间上机练习,这次的程序训练培养了我的实际分析问题的能力,实际编程能力。

随着程序的一步步完善,自己也在慢慢进步,达到了预期目的。

这次课程设计终于完成了,在设计中遇到了许多的问题,但在王颖老师的指导下,终于解决,同时在王颖老师的身上我学到了很多实用的知识。

在此我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次感谢。

相关文档
最新文档