简单卡西欧电子词典典

跪求英语电子词典!!要那种很简单的,我就要可以读出来的,发音标准的,要有笔记本功能的!就是可把要的单词存到笔记本里方便下次读的!有吗??不要太贵的!我要的是很简单的,只要单词解释,其余什_百度作业帮
跪求英语电子词典!!要那种很简单的,我就要可以读出来的,发音标准的,要有笔记本功能的!就是可把要的单词存到笔记本里方便下次读的!有吗??不要太贵的!我要的是很简单的,只要单词解释,其余什
要那种很简单的,我就要可以读出来的,发音标准的,要有笔记本功能的!就是可把要的单词存到笔记本里方便下次读的!有吗??不要太贵的!我要的是很简单的,只要单词解释,其余什么都不用!
去下一个金山词霸就行了,里面有生词本功能,不会的单词可以存进去方便记忆。而且发音分美式和英式,绝对标准。wxWidgets+wxSmith版电子词典 - 迂者-贺利坚的专栏
- 博客频道 - CSDN.NET
1066人阅读
课程首页在:,内有完整教学方案及资源链接【项目3-OOP版电子词典】(本程序需要的相关文件,请到下载。)  做一个简单的电子词典。在文件dictionary.txt中,保存的是英汉对照的一个词典,词汇量近8000个,英文、中文释义与词性间用’\t’隔开。  编程序,由用户输入英文词,显示词性和中文释义。  【项目3拓展1(选做)】使这个词典,读入一篇文章,输出对其中的所词的解释。例如,对aboutcpp.txt,输出如下左图结果所示(也可以看到其中待改进的地方)。  【项目3拓展2(选做)】试用wxwidgets做一个窗口版的电子词典,如下右图所示:  本文是拓展2的参考解答:第一部分工作:编写业务逻辑  一个程序中,最基本的是其业务。先定义词(Word)类和字典(Dictionary)类如下:dict.h#ifndef DICT_H_INCLUDED
#define DICT_H_INCLUDED
//定义词条类
class Word
void set(string e, string c, string wc);
int compare(string);
//英语部分与给定字符串比较,等于返回,大于返回,小于返回-1
string getChinese();
string getWord_class();
string word_
//定义字典类
class Dictionary
Dictionary();
string searchWord(string k);
int BinSeareh(int low, int high, string k);
int wordsN
Word words[8000]; //用于保存词库
#endif // DICT_H_INCLUDED
dict.cpp#include &fstream&
#include &cstdlib&
#include &dict.h&
void Word::set(string e, string c, string wc)
english=e;
chinese=c;
word_class=
int Word::compare(string k)
string Word::getChinese()
string Word::getWord_class()
return word_
Dictionary::Dictionary()
string e,c,
wordsNum=0;
//将文件中的数据读入到对象数组中
ifstream infile(&dictionary.txt&,ios::in);
//以输入的方式打开文件
if(!infile)
//测试是否成功打开
//cout&&&dictionary open error!&&&
while (!infile.eof())
infile&&e&&c&&
words[wordsNum].set(e, c, wc);
infile.close();
int Dictionary::BinSeareh(int low, int high, string key)
while(low&=high)
mid=(low + high) / 2;
if(words[mid].compare(key)==0)
//查找成功返回
if(words[mid].compare(key)&0)
high=mid-1; //继续在w[low..mid-1]中查找
low=mid+1; //继续在w[mid+1..high]中查找
return -1; //当low&high时表示查找区间为空,查找失败
string Dictionary::searchWord(string key)
int low=0,high=wordsNum-1;
//置当前查找区间上、下界的初值
int index=BinSeareh(low, high, key);
if(index&=0)
return words[index].getWord_class()+words[index].getChinese();
return &查无此词&;
  这部分工作可以先行进行测试。测试工作不需要窗口,建立console application来完成更靠谱。见链接和。第二部分工作 用wxSmith制作界面  可以按wxWidgets教程(见),通过代码制作界面,简单的办法是用wxSmith。作为专业学生,应该学会代码,以掌握类库工作的原理,但要快速开发,wxSmith也提倡使用。  在code::Blocks中,点菜单wxSmith--&Add wxFrame,制作好的界面如下。本文中,对应的资源文件名是dictFrame.wxs:  第三部分工作 为界面上的元素配备代码  在生成如上界面的同时,产生两个文件:dictFrame.h和dictFrame.cpp。.wxs文件资源文件的目标也就是生成这两个文件,这是应用程序中的代码部分。下面列出的是这两个文件中的内容,大部分由框架提供,需要自加的部分,给出了注释。dictFrame.h#ifndef DICTFRAME_H
#define DICTFRAME_H
//(*Headers(dictFrame)
#include &wx/stattext.h&
#include &wx/textctrl.h&
#include &wx/panel.h&
#include &wx/button.h&
#include &wx/frame.h&
#include &dict.h&
//自己加,要用到字典类
class dictFrame: public wxFrame
dictFrame(wxWindow* parent,wxWindowID id=wxID_ANY,const wxPoint& pos=wxDefaultPosition,const wxSize& size=wxDefaultSize);
virtual ~dictFrame();
//(*Declarations(dictFrame)
wxStaticText* StaticText2;
wxButton* Button1;
wxPanel* Panel1;
wxStaticText* StaticText1;
wxTextCtrl* TextCtrl2;
wxTextCtrl* TextCtrl1;
protected:
//(*Identifiers(dictFrame)
static const long ID_TEXTCTRL1;
static const long ID_BUTTON1;
static const long ID_STATICTEXT1;
static const long ID_TEXTCTRL2;
static const long ID_STATICTEXT2;
static const long ID_PANEL1;
//自己加:将字典类对象作为Frame类的成员
//(*Handlers(dictFrame)
void OnButton1Click(wxCommandEvent& event);
void OnClose(wxCloseEvent& event);
DECLARE_EVENT_TABLE()
dictFrame.cpp#include &dictFrame.h&
#include &dict.h&
//(*InternalHeaders(dictFrame)
#include &wx/intl.h&
#include &wx/string.h&
//(*IdInit(dictFrame)
const long dictFrame::ID_TEXTCTRL1 = wxNewId();
const long dictFrame::ID_BUTTON1 = wxNewId();
const long dictFrame::ID_STATICTEXT1 = wxNewId();
const long dictFrame::ID_TEXTCTRL2 = wxNewId();
const long dictFrame::ID_STATICTEXT2 = wxNewId();
const long dictFrame::ID_PANEL1 = wxNewId();
BEGIN_EVENT_TABLE(dictFrame,wxFrame)
//(*EventTable(dictFrame)
END_EVENT_TABLE()
dictFrame::dictFrame(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size):dict()
//加上对子对象dict的初始化,读入字典
//(*Initialize(dictFrame)
Create(parent, id, _(&我的字典&), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T(&id&));
SetClientSize(wxSize(354,111));
Move(wxDefaultPosition);
Panel1 = new wxPanel(this, ID_PANEL1, wxPoint(64,56), wxDefaultSize, wxTAB_TRAVERSAL, _T(&ID_PANEL1&));
TextCtrl1 = new wxTextCtrl(Panel1, ID_TEXTCTRL1, wxEmptyString, wxPoint(64,32), wxSize(192,22), 0, wxDefaultValidator, _T(&ID_TEXTCTRL1&));
Button1 = new wxButton(Panel1, ID_BUTTON1, _(&查字典&), wxPoint(264,32), wxSize(51,24), 0, wxDefaultValidator, _T(&ID_BUTTON1&));
StaticText1 = new wxStaticText(Panel1, ID_STATICTEXT1, _(&释义&), wxPoint(32,72), wxDefaultSize, 0, _T(&ID_STATICTEXT1&));
TextCtrl2 = new wxTextCtrl(Panel1, ID_TEXTCTRL2, wxEmptyString, wxPoint(64,64), wxSize(192,22), 0, wxDefaultValidator, _T(&ID_TEXTCTRL2&));
TextCtrl2-&Disable();
StaticText2 = new wxStaticText(Panel1, ID_STATICTEXT2, _(&英文&), wxPoint(32,40), wxDefaultSize, 0, _T(&ID_STATICTEXT2&));
Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&dictFrame::OnButton1Click);
TextCtrl1-&SetFocus ();
//自己加:希望输入英文的文本框获得“焦点”
dictFrame::~dictFrame()
//(*Destroy(dictFrame)
void dictFrame::OnButton1Click(wxCommandEvent& event)
//函数由增加事件处理生成,但函数体要自己实现
string s=string(TextCtrl1-&GetLineText(0));
//获得文本框中文字
wxString ws = dict.searchWord(s);
TextCtrl2-&SetLabelText(ws);
//在另一个文本框中显示查询结果
第四部分工作 写主控程序  每一个wxWidgets程序都要写下面的代码。按套路来就行:MyApp.h#include &wx/wx.h&
class MyApp : public wxApp
virtual bool OnInit();
};MyApp.cpp#include &MyApp.h&
#include &dictFrame.h&
IMPLEMENT_APP(MyApp)
bool MyApp::OnInit()
dictFrame *mydict = new dictFrame(NULL);
mydict-&Show(true);
本文程序的运行截图:  附录:可能错误的处理  关于wxWidgets的入门知识及学习方法指导,见:  如果在编译和连接中遇到问题,见:  关于wxSmith,见  程序运行不出现窗口直接结束,最大的可能是:字典文件不能读入。注意这个应用需要用到字典文件dictionary.txt,从 & 下载,并将这个文件复制到项目所在文件夹中。================= 迂者 贺利坚 CSDN博客专栏=================
|==   ==|
|==    ==|
|== 我写的书——《》    ==|
=====&为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2263675次
积分:45425
积分:45425
排名:第33名
原创:1551篇
转载:10篇
评论:5399条
难度:初级
类型:实战教学
难度:高级
类型:技术教程
难度:高级
类型:技术教程
文章:453篇
阅读:732021
文章:445篇
阅读:883794
文章:10篇
阅读:16869
迂者自勉:
※能取得一点点突破,就是进步
※并肩学生与不良学风坚决斗争
※甘为草根,仰慕草根之力量
※还原大学和大学学习之本色
∞心系教育,热爱生活
∞我的专栏-
∞给我写信
∞不用QQ-它会谋杀整段的时间
友情链接:周兆熊为IT学子解惑、
(35)(123)(64)(82)(78)(27)(43)(30)(15)(9)(13)(24)(43)(65)(60)(13)(16)(63)(56)(41)(18)(29)(10)(28)(32)(43)(46)(7)(10)(59)(83)(51)(38)(20)(32)(15)(22)(30)(28)(16)(4)(38)(1)毕业设计-基于Android的电子词典的详细设计,主要是按照软件工程的思想来设计!
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于Android的电子词典的设计与实现
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口简单自动电子计算机
; 以下结果由
搜索框提示
是否希望搜索汉字和英语时显示搜索框提示c语言做一个简单的&C&语言电子词典
要用c语言的结构体和链表&(散列表)实现一个能够快速查阅&C&语言术语含义及用法的电子词典。程序中用到的结构体该电子词典中的一个单词及其含义用结构体&node&来表示:typedef&struct&node{&&&&//&&存储在结点中的值&&&&char&word[WORD_LENGTH&+&1];&&&&char&detail[DETAIL_LENGTH&+&1];&&&&//&&链表中链接到下一个结点的指针&&&&struct&node*&}整个电子词典用结构体&hash_table(即:散列表)来表示:typedef&struct{&&&&&&//&&单向链表数组,HASH_TABLE_SIZE&为哈希表的桶数node*values[HASH_TABLE_SIZE];&&//&&词典大小&&&&&unsigned&int&dict_&&}hash_实现哈希表结构#include&&ctype.h&#include&&stdio.h&#include&&stdbool.h&#include&&stdlib.h&#include&&include/hasht.h&/************************************************************************&*&函数名:hash()&*&功能:哈希函数,计算一个词语的哈希值&*&目的:掌握字符型指针作为参数的传递&************************************************************************/unsigned&long&hash(char&*word){&&&&int&hash_val=0,c;&&&&&&&&while((c=*word++)!=0){&&&&&&&&if(c&0)&c=-c;&&&&&//汉字值为负数,需要转换为正数&&&&&&&&hash_val&+=&c;&&&&}&&&&&&&return&hash_&&&&&&//HASH_TABLE_SIZE为散列表的桶数}/************************************************************************&*&函数名:hasht_init()&*&功能:初始化哈希表,初始状态词典中没有词语,字典大小为0,并返回true&************************************************************************/bool&hasht_init(hash_table&*tbl){&&&&tbl-&dict_size&=&0;&&&&&&&return&}&/************************************************************************&*&函数名:hasht_free()&*&功能:释放哈希表,即:释放哈希表所链接的所有链表,并返回true&*&&&&&&&通过调用sll.c文件中实现的node_free()函数释放实参所指向的链表&************************************************************************/bool&hasht_free(hash_table&*tbl){&&&&&&&&&//&请将代码填写在此处&&&&&&&&return&}&&*&函数名:hasht_append()&*&功能:增加一个结点(字符串、含义)到哈希表中&*&&&&&&&即:根据字符串的散列值,将该字符串和它的含义构造成一个结点,&*&&&&&&&&&&&加入到散列表中的相应链表&*&&&&&&&通过调用sll.c文件中实现的node_add()函数,将结点加入链表中&bool&hasht_append(hash_table&*tbl,&char&*word,&char&*detail){&&&&&&&&&//&请将代码填写在此处&&&&&&&&return&}&/************************************************************************&*&函数名:hasht_lookup()&*&功能:在哈希表中查找字符串&*&&&&&&&先计算单词的哈希值,然后调用sll.c中实现的node_lookup()函数&*&&&&&&&如果在其中返回true,否则返回false&************************************************************************/bool&hasht_lookup(hash_table&*tbl,&char&*word,&char&*detail){&&&&&&&&&&&&//&请将代码填写在此处&&&&&&&&return&}&*&File:dictionary.c&*&------------------------------&*&实现电子词典的相关函数#include&&stdio.h&#include&&stdbool.h&&&//C99新增bool类型#include&&string.h&#include&&include/dictionary.h&//&定义用于存储词典的哈希表hash_table&/************************************************************************&*&函数名:check()&*&功能:检查词语是否在词典中,如果在词典中返回true,否则返回false&*&目的:掌握字符型指针作为参数的传递&************************************************************************/bool&check(char*&word,&char&*detail){&&&&return&hasht_lookup(&dict,&word,&detail);}/************************************************************************&*&函数名:load()&*&功能:加载字典到内存中,如果成功返回true,否则返回false&*&目的:了解磁盘文件加载到内存的方法和过程&************************************************************************/bool&load(char*&dictionary){&&&&//&打开字典文件&&&&FILE&*f&=&fopen(dictionary,&&r&);&&&&if&(f&==&NULL)&&&&&&&&return&&&&&&&&&//&初始化hash表&&&&hasht_init(&dict);&&&&&&&&//从字典中加载&&&&char&buffer1[WORD_LENGTH&+&2];&&&&char&buffer2[DETAIL_LENGTH&+&2];&&&&while&(fgets(buffer1,&WORD_LENGTH&+&2,&f)&&&&fgets(buffer2,&DETAIL_LENGTH&+&2,&f))&&&&{&&&&&&&&//&Overwrite&\n&with&\0&&&&&&&&buffer1[strlen(buffer1)&-&1]&=&'\0';&&&&&&&&buffer2[strlen(buffer2)&-&1]&=&'\0';&&&&&&&&&//&Append&the&word&to&the&hash&table&&&&&&&&hasht_append(&dict,&buffer1,&buffer2);&&&&}&&&&&&&&&&&fclose(f);&&&&&&&&return&}/************************************************************************&*&函数名:size()&*&功能:返回字典中的单词数,如果字典还没有加载则返回0&************************************************************************/unsigned&int&size(){&&&&return&dict.dict_}/************************************************************************&*&函数名:unload()&*&功能:卸载内存中的字典,成功返回ture,否则返回false&************************************************************************/bool&unload(){&&&&return&hasht_free(&dict);}/************************************************************************&*&函数名:search()&*&功能:从词典中查询关键词的含义&************************************************************************/void&search(){&&&&char&word[WORD_LENGTH]=&\0&,&detail[DETAIL_LENGTH]=&\0&;&&&&&&&&&&&&&//&请将代码填写在此处&&&&}
13-12-20 & 发布

我要回帖

更多关于 casio电子词典 的文章

 

随机推荐