| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3307 人关注过本帖
标题:有字典数据文件怎么编字典翻译软件呢?
只看楼主 加入收藏
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 6楼 newdos
用notepad++转不过来
2016-01-03 11:46
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 7楼 wmf2014
按你的方法成功了,翻译内容总是不完整!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{  FILE *fp;
   int i;
   char a[20],a1[20],b,c[100];
   printf("\t\t欢迎使用英汉词典!\n");
   loop:printf("请输入要查询的单词:");
   scanf("%s",a);
   if((fp=fopen("dict.txt","rb"))==NULL)
   {printf("文件打开失败!");
    exit (0);}
   fseek(fp,0,0);
   while(!feof(fp))
   {
     fread(&b,sizeof(char),1,fp);
     if(b=='#')
      {for(i=0;i<20&&b!='\n';i++)
       {fread(&a1[i],sizeof(char),1,fp);
       b=a1[i];
       if(b=='\n')
       a1[i]='\0';
        b='a';}
        if(strcmp(a,a1)==0)
        {
         for(i=0;i<100&&b!='\n';i++)
         {
          fread(&c[i],sizeof(char),1,fp);
          b=c[i];
          if(b=='\n')
           c[i]='\0';
           b='a';
         }
         break;
        }
        else
         for(i=0;i<20;i++)
         {a1[i]=0;
          b='a';}
      }
      else continue;
    }
   printf(c);
   printf("\n");
   goto loop;
   return 0;
}
2016-01-03 12:22
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-01-03 13:07
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
错了一个小地方,b='a'应在括号外。现在好了!
2016-01-03 13:28
newdos
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:6
帖 子:251
专家分:1169
注 册:2012-8-13
收藏
得分:0 
哈哈,搞出来了呀,用wmf班班的办法也行。翻译内容总是不完整!指什么?
看了下你的代码,你的程序怎么处理查不到单词的情况,用户不想查了怎么办?

读一个字符的文件操作直接用fgetc就行了。

我这里还有汉英词典,需要不?
2016-01-03 13:37
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 15楼 newdos
现在改好了,如果不用了支接XX。还蛮有意思的,这样配合notepad++可以自己造新词了。以前搞过一个伺服驱动故障代码查询软件,用的是switch语句,
如果改用这个就方便多了,还方便添加!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{  FILE *fp;
   int i,flag;
   char a[20],a1[20],a2[10],b,c[100];
   printf("\t\t欢迎使用英汉词典!\n");
   loop:printf("请输入要查询的单词:");
   scanf("%s",a);
   if((fp=fopen("dict.txt","rb"))==NULL)
   {printf("文件打开失败!");
    exit (0);}
   fseek(fp,0,0);
   flag=0;
   while(!feof(fp))
   {
     b=fgetc(fp);
     if(b=='#')
      {for(i=0;i<20&&b!='\n';i++)
       {a1[i]=fgetc(fp);
       b=a1[i];
       if(b=='\n')
       a1[i]='\0';}
          b='a';
        if(strcmp(a,a1)==0)
        {
         for(i=0;i<100&&b!='\n';i++)
         {
          c[i]=fgetc(fp);
          b=c[i];
          if(b=='\n')
           c[i]='\0';
         }
         b='a';
         flag=1;
         break;
        }
        else
         for(i=0;i<20;i++)
         {a1[i]=0;
          b='a';}
      }
      else continue;
    }
   if(flag)
   printf(c);
   else
   printf("该单词尚未收录!");
   printf("\n");
   goto loop;
   return 0;
}
2016-01-03 14:01
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8913
专家分:2567
注 册:2004-3-25
收藏
得分:0 
以下是引用newdos在2016-1-3 13:37:33的发言:

哈哈,搞出来了呀,用wmf班班的办法也行。翻译内容总是不完整!指什么?
看了下你的代码,你的程序怎么处理查不到单词的情况,用户不想查了怎么办?

读一个字符的文件操作直接用fgetc就行了。

我这里还有汉英词典,需要不?

在技术区瞎搅合,小心你的马甲+主号一起被办

畅所欲言
2016-01-03 14:20
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8913
专家分:2567
注 册:2004-3-25
收藏
得分:0 
以下是引用newdos在2016-1-3 13:37:33的发言:

哈哈,搞出来了呀,用wmf班班的办法也行。翻译内容总是不完整!指什么?
看了下你的代码,你的程序怎么处理查不到单词的情况,用户不想查了怎么办?

读一个字符的文件操作直接用fgetc就行了。

我这里还有汉英词典,需要不?

下线了?果然是老狐狸,留着你也是祸害。

畅所欲言
2016-01-03 14:47
快速回复:有字典数据文件怎么编字典翻译软件呢?
数据加载中...
 
   



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

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