當前位置:首頁 » 編程語言 » c語言英漢字典
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言英漢字典

發布時間: 2023-02-02 14:22:56

c語言英譯漢字典代碼怎麼改成漢譯英代碼

if(!strcmp(give,english)){

這一句改成

if(!strcmp(give,chinese)){

就行了。

Ⅱ C語言簡易英漢字典

這個涉及到哈希的應用,哈希也可以稱為映射吧,你需要自己編寫一個哈希表,鍵是英文單詞,值是對應的中文單詞,構建好這個哈希數據結構之後,查找用戶的輸入就很簡單了。
你可以看看下面的網路中關於哈希表的說明:
http://ke..com/view/329976.htm

你這個哈希的構建不算難,你可以認真看看哈希表裡面關於沖突的處理,整體框架基本就出來了

Ⅲ 運用c語言編寫一個英漢字典~ 謝謝啦~先

原型:
int WINAPI icePub_dictionaryCodeTransfer2(char *strDictionaryFilename,char *strSrc,char *strCode,char *strFenge)
輸入:strDictionaryFilename 字典文件名
strSrc 待處理單詞
strFenge 字典里單詞和code之間的分隔符字元串
輸出:strCode strSrc對應信息
返回碼:

原型:
int WINAPI icePub_dictionaryAddRecord(char *strDictionaryFilename,char *strSrc,char *strCode,char *strFenge)
輸入:strDictionaryFilename 字典文件名
strSrc 待添加單詞(如果存在則替換)
strCode strSrc對應信息
strFenge 字典里單詞和code之間的分隔符字元串
輸出:
返回碼:

原型:
int WINAPI icePub_dictionaryDelRecord(char *strDictionaryFilename,char *strSrc,char *strFenge)
輸入:strDictionaryFilename 字典文件名
strSrc 待刪除單詞
strFenge 字典里單詞和code之間的分隔符字元串
輸出:
返回碼:

網路一個《icepubdll揭秘》有詳細說明

Ⅳ 如何用c語言做一個簡單的英語詞典

//新建一個字典文本文件,命名為:dict.dat,內容格式如下:或下載一個也可
//abandonv.拋棄,放棄
//abandonmentn.放棄
//abbreviationn.縮寫
//abeyancen.緩辦,中止
//abidev.遵守
//abilityn.能力
//ableadj.有能力的,能乾的
//abnormaladj.反常的,變態的
//aboardadv.船(車)上
//abolishv.廢除,取消
//******************************
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

structNODE
{
chare[20];
charc[50];
structNODE*pnext;
};

structNODE*pN;
structNODE*pHead=NULL;
structNODE*pNode=NULL;
structNODE*pNext=NULL;
structNODE*pEnd=NULL;

FILE*open_dict()
{
FILE*fp;
if((fp=fopen("dict.dat","r"))==NULL)
{
printf("opendicterror! ");
returnNULL;
}
returnfp;
}

intgetdata_from_dict(FILE*fp)
{
inti,j;
charbuf[50];
while(1)
{
pN=(structNODE*)malloc(sizeof(structNODE));
memset(pN->c,'',50);
memset(pN->e,'',20);
pN->pnext=NULL;
if(fgets(buf,50,fp)==NULL)
{
fclose(fp);
break;
}
sscanf(buf,"%s%s",pN->e,pN->c);
if(pHead==NULL)
{
pHead=pN;
pNode=pN;
continue;
}
pNode->pnext=pN;
pNode=pN;
pEnd=pN;
}

return1;
}

voidwrite_dict()
{
FILE*fp=NULL;
if((fp=fopen("dict.dat","w"))==NULL)
{
printf("opendicterror! ");
return;
}
charbuf[100]={''};
pNode=pHead;
while(1)
{
if(pNode==NULL)
{
break;
}
fprintf(fp,"%s%s ",pNode->e,pNode->c);
pNode=pNode->pnext;
}
fclose(fp);
}

voiddel(char*char_del)
{
structNODE*pDel=pHead;
if(strcmp(pDel->e,char_del)==0)
{
pHead=pHead->pnext;
write_dict();
return;
}
while(1)
{
if(strcmp(pDel->pnext->e,char_del)==0)
{
if(pDel->pnext->pnext!=NULL)
{
pDel->pnext=pDel->pnext->pnext;
}
else
{
pDel->pnext=NULL;
}
write_dict();
return;
}
else
{
pDel=pDel->pnext;
if(pDel==NULL)
{
break;
}
}
}
printf(" 未找到該單詞! ");
return;
}

voidadd(char*char_add,char*char_add_chs)
{
pN=(structNODE*)malloc(sizeof(structNODE));
memset(pN->c,'',50);
memset(pN->e,'',20);
pN->pnext=NULL;
strcpy(pN->e,char_add);
strcpy(pN->c,char_add_chs);
pEnd->pnext=pN;
pEnd=pN;
pNode=pN;
write_dict();
}

intmain(intargc,char*argv[])
{
FILE*fp=NULL;
fp=open_dict();
if(fp==NULL)
{
printf("讀取字典失敗!程序將退出!");
getchar();
return1;
}
getdata_from_dict(fp);
fclose(fp);
charbuf[50]={''};
while(1)
{
printf(" {輸入quit:即退出,輸入del:即刪除,輸入add:即增加} 請輸入英文單詞:");
fflush(stdin);
scanf("%s",buf);
if(strcmp(buf,"quit:")==0)
{
break;
}
elseif(strcmp(buf,"del:")==0)
{
charchar_del[20]={''};
printf("請輸入要刪除的單詞:");
fflush(stdin);
scanf("%s",char_del);
del(char_del);
continue;
}
elseif(strcmp(buf,"add:")==0)
{
charchar_add[20]={''};
charchar_add_chs[100]={''};
printf(" 請輸入要增加的單詞:");
fflush(stdin);
scanf("%s",char_add);
printf(" 請輸入中文意思:");
fflush(stdin);
scanf("%[^ ]",char_add_chs);
add(char_add,char_add_chs);
continue;
}
pNode=pHead;
intfind=0;
while(pNode!=NULL)
{
if(strcmp(pNode->e,buf)==0)
{
printf(" %s",pNode->c);
find=1;
break;
}
pNode=pNode->pnext;
}
if(find==0)
{
printf(" 未找到!");
}
}
return0;
}

Ⅳ 用c語言開發一個小型的英漢詞典。

給你個參考:
#include "stdafx.h"

#include <windows.h>
#include <stdio.h>
#include <malloc.h>
#include <winbase.h>
#include <process.h>

void Search()
{
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 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(" 2 插入新的詞條\n");
// printf(" 3 刪除已有詞條\n");
printf(" 3 清空屏幕\n");
printf(" 4 退出\n\n");
printf("**********************************\n");
do{
printf("請選擇操作(1~4):\n");
scanf("%d",&index); /*輸入選擇項*/
}while(index<0||index>5); /*選擇項不在0~4之間重輸*/
switch(index)
{
case 1:
Search();
goto main;
break;
case 2:
InsertItem();
goto main;
break;
case 3:
system("cls");
goto main;
break;
case 4:
return 0;
break;
default:
break;
}
return 0;
}

輸出:

**************MENU***************

1 英譯漢
2 插入新的詞條
3 清空屏幕
4 退出

**********************************
請選擇操作(1~4):
1
請輸入要查詢的單詞:
bad
adj. 劣質的,有害的,壞的,不利的,不健康的,嚴重的

**************MENU***************

1 英譯漢
2 插入新的詞條
3 清空屏幕
4 退出

**********************************
請選擇操作(1~4):
2
請輸入要插入的單詞:
cat
請輸入單詞的解釋:

插入成功。

**************MENU***************

1 英譯漢
2 插入新的詞條
3 清空屏幕
4 退出

**********************************
請選擇操作(1~4):
1
請輸入要查詢的單詞:
cat


**************MENU***************

1 英譯漢
2 插入新的詞條
3 清空屏幕
4 退出

**********************************
請選擇操作(1~4):
4
Press any key to continue

Ⅵ C語言程序設計----電子英漢詞典設計

要做GUI的,還是命令行的?
要做什麼樣功能,什麼顯示的詞典?
你所提供的信息不夠全面,我無法為你解答。

Ⅶ 用c語言編寫電子英漢詞典。

為了保證效率,建議使用哈希結構或者2岔樹結構。
只需要提供插入刪除和檢索功能就可以了。
另外為字典的每個單元定義一個結構。
可以包含左右指針,自己的名詞,及解釋,還可以有其他東西。
然後實現樹型結構的刪除和檢索功能就可以了。這個在數據結構的書上有吧。
然後寫一個主函數就可以了。

Ⅷ c語言--編程,電子英漢詞典的設計

/*基本的庫函數*/
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define szWORD 32
#define szSTRN 224
#define szITEM sizeof(struct TItem)
char fileDict[szSTRN];

typedef struct TItem {
char word[szWORD];
char mean[szSTRN];
} Item;

fpos_t lookup(char *word, char *mean)
{
FILE * f = 0; Item i;
int r = 0; fpos_t p = 0;
if(!word) return 0;
f = fopen(fileDict, "rb");
if (!f) return 0;
while(!feof(f)) {
fgetpos(f, &p);
r = fread(&i, szITEM, 1, f);
if(r < 1) break;
if(i.word[0] == 0) continue;
if(strcmp(i.word , word)) continue;
if(mean) strcpy(mean, i.mean );
fclose(f);
return p+1;
}
fclose(f);
return 0;
}

void append(void)
{
Item i; FILE * f = 0; fpos_t p = 0;
memset(&i, 0, szITEM);
printf("請輸入單詞:"); scanf("%s", i.word );
p = lookup(i.word, 0 );
if(p) {
printf("字典內已經有該單詞記錄!\n");
return;
}
printf("請輸入釋義,按回車結束:");
fflush(stdin);
gets(i.mean );
f = fopen(fileDict, "ab");
fwrite(&i, szITEM, 1, f);
fclose(f);
printf("詞條已新增\n");
}

void erase(void)
{
Item i; FILE * f = 0; fpos_t p = 0;
memset(&i, 0, szITEM);
printf("請輸入單詞:"); scanf("%s", i.word );
p = lookup(i.word, 0 );
if(p==0) {
printf("字典內沒有該單詞記錄!\n");
return;
}
p--;
memset(&i, 0, szITEM);
f = fopen(fileDict, "rb+");
fsetpos(f, &p);
fwrite(&i, szITEM, 1, f);
fclose(f);
printf("詞條已刪除\n");
}

void edit(void)
{
Item i; FILE * f = 0; fpos_t p = 0;
memset(&i, 0, szITEM);
printf("請輸入單詞:"); scanf("%s", i.word );
p = lookup(i.word, 0 );
if(p==0) {
printf("字典內沒有該單詞記錄!\n");
return;
}
p--;
printf("請輸入釋義,按回車結束(輸入abort放棄修改):");
fflush(stdin);
gets(i.mean );
if(strstr(i.mean ,"abort")) {
printf("已放棄修改!\n");
return ;
}
f = fopen(fileDict, "rb+");
fsetpos(f, &p);
fwrite(&i, szITEM, 1, f);
fclose(f);
printf("詞條已保存\n");
}

void query(void)
{
Item i; fpos_t p = 0;
memset(&i, 0, szITEM);
printf("請輸入單詞:"); scanf("%s", i.word );
p = lookup(i.word, i.mean );
if(p==0) {
printf("字典內沒有該單詞記錄!\n");
return;
}
printf("【詞條】%s\n【釋義】%s", i.word , i.mean );
}

void set(void)
{
int cmd = 0;
printf("當前字典為%s,需要改變嗎(選擇y或Y改變)?", fileDict);
cmd = getch();
if(cmd == 'y' || cmd == 'Y') {
printf("請輸入字典文件名稱(包含路徑):");
scanf("%s", fileDict);
printf("設置成功!\n");
}
}
int main(int argc, char * argv[])
{
int cmd = 0;
if(argc >1)
strcpy(fileDict, argv[1]);
else
strcpy(fileDict, "c:\\dict.txt");
/*end if*/
for(;;) {
printf("\n\
************************\n\
** 歡迎使用迷你字典!**\n\
************************\n\
** 0 - 設置字典 **\n\
** 1 - 查詢詞條 **\n\
** 2 - 新增詞條 **\n\
** 3 - 編輯詞條 **\n\
** 4 - 刪除詞條 **\n\
** 5 - 退出字典 **\n\
************************\n");
cmd = getch() - '0';
switch(cmd) {
case 0: set(); break;
case 1: query(); break;
case 2: append(); break;
case 3: edit(); break;
case 4: erase(); break;
default: return 0;
}
}
return 0;
}

Ⅸ C語言課程設計英漢詞典

你好!
這個不是一句兩句就能說清的,下面為你提供電子詞典,其它要你自己想哦!
#include <windows.h>
#include <stdio.h>
#include <malloc.h>
#include <winbase.h>
#include <process.h>

void Search()
{
char ret;
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 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(" 2 插入新的詞條\n");
// printf(" 3 刪除已有詞條\n");
printf(" 3 清空屏幕\n");
printf(" 4 退出\n\n");
printf("**********************************\n");
do{
printf("請選擇操作(1~4):\n");
scanf("%d",&index); /*輸入選擇項*/
}while(index<0||index>5); /*選擇項不在0~4之間重輸*/
switch(index)
{
case 1:
Search();
goto main;
break;
case 2:
InsertItem();
goto main;
break;
case 3:
system("cls");
goto main;
break;
case 4:
return 0;
break;
default:
break;
}
return 0;
}