回 帖 发 新 帖 刷新版面

主题:[讨论]各位大哥帮忙解决这个汉译英问题!

各位大哥帮忙解决这个汉译英问题!
#include <windows.h> 
#include <stdio.h> 
#include <malloc.h> 
#include <winbase.h> 
#include <process.h> 


void Search1() 

    char temp[100]; 
    char buffer[2]; 
    char result[100]; 
    printf("请输入要查询的英语单词:\n"); 
    scanf("%s",&temp); 
    buffer[0]=temp[0]; 
    buffer[1]='\0'; 
    int ret=GetPrivateProfileString(buffer,temp,0,result,100,"./date.ini"); 
    if(ret>0) 
        printf("%s\n\n\n\n\n",result); 
    else 
        printf("对不起,没有您要查找的英语单词.\n\n\n\n\n"); 

void Search2() 

    char temp[100]; 
    char buffer[2]; 
    char result[100]; 
    printf("请输入要查询的汉语词语:\n"); 
    scanf("%s",&result); 
    buffer[0]=result[0]; 
    buffer[1]='\0'; 
    int ret=GetPrivateProfileString(buffer,result,0,temp,100,"./date.ini"); 
    if(ret>0) 
        printf("%s\n\n\n\n\n",temp); 
    else 
        printf("对不起,没有您要查找的汉语词语.\n\n\n\n\n"); 


void InsertItem() 

     char temp[100]; 
     char buffer[2]; 
     char result[100]; 
     printf("请输入要插入的单词:\n"); 
     scanf("%s",&temp); 
     printf("请输入单词的解释:\n"); 
     getchar(); 
     scanf("%s",&result); 
     buffer[0]=temp[0]; 
     buffer[1]='\0'; 
     int ret=WritePrivateProfileString(buffer,temp,result,"./date.ini"); 
     if(ret=0) 
          printf("插入失败。\n\n\n\n\n"); 
     else 
          printf("插入成功。\n\n\n\n\n"); 


int main(int argc, char* argv[]) 

    int index; 
    main: 
    printf("**************MENU***************\n\n"); 
    printf(" 1 英译汉\n"); 
     
    printf(" 2 插入新的词条\n"); 
 // printf(" 3 删除已有词条\n"); 
    printf(" 3 清空屏幕\n"); 
    printf(" 4 汉译英\n");
    printf(" 5 退出\n\n"); 
    printf("**********************************\n"); 
    do{ 
        printf("请选择操作(1~4):\n"); 
        scanf("%d",&index); /*输入选择项*/ 
}
    while(index<0||index>5); /*选择项不在0~4之间重输*/ 
    switch(index) 

    case 1: 
        Search1(); 
         goto main; 
         break; 
    case 2: 
        InsertItem(); 
        goto main; 
        break; 
    case 3: 
        system("cls"); 
        goto main; 
        break; 
    case 4: 
        Search2(); 
        goto main; 
        break; 

    case 5: 
        return 0; 
        break; 
   default: 
        break; 

return 0; 

回复列表 (共2个回复)

沙发

我试了一下你的代码,发现输入词条时会有些问题,无法控制好,我改了一下,可以解决这个问题。但程序本身还是有些瑕疵,从英文查中文,好查,但从中文查英文不好查,因为有时一个单词可能有多种中文意思,若从中文反查过来时,发现只输入英文单词众多中文解释中的一个,就无法反查到相应的英文,这方面你需要改进一下。

板凳

以下是我修改过的代码:(只贴上修改的地方)--不好意思,没说清楚,这句是在void InsertItem()里的。
把 scanf("%s",&result);这一句改为: scanf("%[^\n]s",&result); 

我来回复

您尚未登录,请登录后再回复。点此登录或注册