我要做的是一个英语单词的相关的小程序
本来做这个提取信息是一件很简单的事情 但是由于感觉比较繁 再加上这部分学得也不牢固 就乘机来学习学习
麻烦大牛实现一下
现在有一个txt的英语单词的数据库
主要是 单词+音标(有可能有多个)+词性一+词性一下的释义一+词性一下的释义二……+词性二+……
大概就是这个意思
比如其中一个部分:
among [ә'mʌˌ] prep. 在…之中
amount [ә'maunt] n. 数量
ancient ['einʃәnt] a. 远古的
and [әnd, ænd] conj. 和
anger ['æˌgә] n. 愤怒 vt. 使发怒,激怒 vi. 发怒
angry ['æˌgri] a. 生气的
animal ['ænimәl] n. 动物
announce [ә'nauns] v. 宣布
another [ә'nʌðә] a. 另外的
answer ['ɑ:nsә] vt. 回答
anxious ['æˌkʃәs] a. 焦急的
any ['eni] a. 任何
anybody ['eniˌbɔdi, 'enibәdi] pron. 任何人
怎样写才能对各种情况都成立呢(貌似会有不少if)
(比如anybody就有两个音标 anger就有三个词性、然后及物动词还有两个释义 等等……)
现在基本的信息是
Class Word{
private:
string word="";
string soundmark[];
string charateristic[];
string* meaning[];
这是自己已经写好的……如果方便的话能不能也采用这个命名
word是具体的词 soundmark是音标 charateristic是词性 然后meaning是释义
如果有什么不对的……麻烦指正
求具体代码供学习……谢谢……
步骤1:读取txt到内存
char* psDataSource = OpenFile("你的单词库txt"); 具体百度一下windows的openfile函数
步骤2:把psDataSource解析到一个map中,单词作为索引
map mapDataBase; //Word是你定义的类(定义有错误)
for( ){
Word a;
Resolve(); //解析字符串到a ,这个得自己写
mapDataBase.add("among",“”); //把a放到map里
}
步骤3:查找
Word* pWord = mapDataBase.find("OneWord"); 使用map的find来查找你要的单词
步骤4:输出
printf();
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。