| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6059 人关注过本帖
标题:如何制作一个c语言的词典?
只看楼主 加入收藏
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:0 
以下是引用皇朝思瑜在2012-11-9 19:46:58的发言:

那么怎么把单词和解释放在一个函数的一维数组或二维数组里?
结构体。
struct creatwordlist
{  char word[20];
char cixing[10];
char chinese[20];
}wordlist[100000];

结构体不会还没学吧。。 去恶补一下。。
用的时候是wordlist[i].word   wordlist[i].cixing  以此类推。。  

去追寻更高的技术领域。永不停止。
2012-11-09 20:05
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
这个程序仅供参考,稍微修改下就是第四种,要实现更多的单词查询,自己再慢慢补充
#include<stdio.h>
#include<string.h>
int show_mean(char word[])
{
    /*词库单词和解释*/
    char *str[]={"we","you","she","be good to",NULL};
    char *mean[]={    "pron.我们(主格);笔者,本人(作者或演讲人使用);[古]朕,寡人\n",
                      "pron.你;你们\n",
                      "pron.她(主格);它(用来指雌性动物或国家、船舶、地球、月亮等)\nn. 女人;雌性动物\n",
                      "对...好;对...很慈善\n"
                  };
    int i=0;
    while(1)
    {
        if(strcmp(str[i++],word)==0)//如果匹配
        {
            printf("解释:\n%s",mean[i-1]);
            return 0;
        }
        if(str[i]==NULL)//如果不匹配
        {
            printf("词库没有找到对应的解释!\n");
            return 0;
        }
    }
}
int main()
{
    char word[100]="";
    int i=0;
    printf("请输入要查询的英文单词或者英文词组:");
    while((word[i++]=getchar())!='\n'){}
    word[--i]='\0';
    show_mean(word);//函数调用
    return 0;
}

这个如果在VC6.0里面运行,那么在main函数里return前面加一句system("pause");可使窗口停留,执行后在安装目录里的Debug目录里就产生.exe文件,可在windows环境下直接运行,相当于小软件,很实用!

[ 本帖最后由 小小战士 于 2012-11-9 22:35 编辑 ]

小小战士,战士中的战斗机!
2012-11-09 22:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
10万个词条,不能用这种方法的。

授人以渔,不授人以鱼。
2012-11-10 01:04
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
现在绝大多数操作系统都是32位的,4字节int型变量的取值范围为-2^31到2^31-1,即-2147483648到2147483647,unsigned int型变量的取值范围为0到2^32,即0到4294967296,远远超过10万,可以用的
如果是16位机,2字节int就不够用了,就用4字节的long型变量,取值范围为-2147483648到2147483647,unsigned long取值范围为0到4294967296,也够用了

我的上面的这个程序,main函数中的i是输入要查询的单词或者词组的长度,不会超过100,主要是看show_mean()函数里的int i的取值范围,肯定够用

[ 本帖最后由 小小战士 于 2012-11-10 02:12 编辑 ]

小小战士,战士中的战斗机!
2012-11-10 02:05
快速回复:如何制作一个c语言的词典?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011418 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved