當前位置:首頁 » 編程語言 » c語言電子詞典

c語言電子詞典

發布時間: 2022-04-15 17:29:35

1. c語言編寫電子詞典

我有一些資料 但不是你說的這個 如果能用到就CALL我
C++入門教程.txt
C語言程序設計.TXT
Java編程思想.txt
匯編語言程序設計大全.txt
另外 你那本電子詞典我也想要一個 拜託聯系啊

2. C語言編寫電子詞典,要求用戶輸入十個單詞和釋義,然後系統排序(釋義跟著單詞被排序)

#include "stdio.h"
#include "string.h"

#define N_1 3
#define N_2 20
#define N_3 200

int i,j;

/**************************************/

int strccmp(char *str1,char *str2)
{
int len;
int len_1=strlen(str1);
int len_2=strlen(str2);

for(i=0;str1[i]!='\0';i++)
{
if(str1[i]>='A'&&str1[i]<='Z') { str1[i]+=32; }
}
for(i=0;str2[i]!='\0';i++)
{
if(str2[i]>='A'&&str2[i]<='Z') { str2[i]+=32; }
}

len=len_1>len_2?len_2:len_1;

for(i=0;i<len;i++)
{
if(str1[i]>str2[i]) { return 1; }
else if(str1[i]<str2[i]) { return -1; }
}
if((len_1!=len_2)&&(len_1>len_2)) { return 1; }
else if((len_1!=len_2)&&(len_1<len_2)) { return -1; }
else { return 0; }
}

/**************************************/

void sort(char words[][N_2],char comments[][N_3])
{
int i,j;
char temp_1[N_2];
char temp_2[N_3];
for(i=0;i<N_1;i++)
{
for(j=i+1;j<N_1;j++)
{
if(strccmp(words[i],words[j])==1)
{
strcpy(temp_1,words[i]);
strcpy(words[i],words[j]);
strcpy(words[j],temp_1);

strcpy(temp_2,comments[i]);
strcpy(comments[i],comments[j]);
strcpy(comments[j],temp_2);
}
}
}
}

/**************************************/

int search(char *key,char words[][N_2])
{
int bot=0;
int top=N_1-1;
int mid;
while(bot<=top)
{
mid=(bot+top)/2;

if(strccmp(words[mid], key)==1) { top=mid-1; }
else if(strccmp(words[mid], key)==-1) { bot=mid+1; }
else { return mid; }

}
return -1;
}

/**************************************/

void main()
{
int mark;
char key[N_2];
char words[N_1][N_2];
char comments[N_1][N_3];

int i,j,k;

int strccmp(char *str1,char *str2);
void sort(char words[][N_2],char comments[][N_3]);
int search(char *key,char words[][N_2]);
printf("DATA:\n");
for(i=0;i<N_1;i++)
{
printf("Please enter word %d:\t", i+1);
gets(words[i]);
printf("please enter word%d's comments:\t", i+1);
gets(comments[i]);
}

sort(words,comments);

do
{
printf("\nPlease enter key : ");
gets(key);
if(*key==NULL) { break; }
mark=search(key,words);
printf("Comment : ");

if(mark==-1)
{
printf("This word does not exist!\n\n@_@\n\n");
}
else
{
printf("%s\n\n^_^\n\n",comments[mark]);
}

}while(1);

}

3. 用c語言編寫一個電子詞典,先將單詞存儲到文件中,要求輸入一個單詞就能找到這個詞條的地址,然後跳到那

沒錯 用哈希表,在網上找個C語言的哈希代碼用到你的程序中吧

4. C語言英漢電子詞典

你得說說怎麼完善啊~~~~

5. C語言實驗:電子詞典之編寫正則表達式

趙岩知道

6. 用c語言編寫 電子英漢詞典

這個啊?那得多大的程序啊?

7. [編程] 如何用c語言讀取電子詞典的文件信息

這也不是很難實現的,看你水平是在哪個程度的了。
讀取電子詞典文件信息,重要的是通訊介面規范和通訊協議.和你具體使用什麼語言沒有關系。哪怕用個vb腳本就可以實現.
在沒有其它參考資料的情況下.拆機查看電路,查出用的是什麼晶元,各部分的功能是什麼.使用詞典原廠的通訊程序和PC通訊,進行各種操作,抓取數據包進行分析...這一切都是未知.有經驗的工程師很容易就可以搞定,前提是廠商沒有特意進行加密處理,否則要費一翻工夫了.如果存儲器是flash,而介面晶元啥的都搞清楚了是個廣泛使用的方案,那太容易了,各個廠通用的方案,搞不好網上就有源碼.越說越遠了,如果是個類似MTK的方案,呵呵...

8. 如何用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;
}

9. 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;
}

10. c語言編寫的電子詞典

題目好眼熟 =.=

熱點內容
壓縮草坐墊 發布:2025-01-21 10:01:33 瀏覽:399
編譯選項g 發布:2025-01-21 09:59:23 瀏覽:534
谷歌平板電腦無法登陸伺服器 發布:2025-01-21 09:43:55 瀏覽:108
刀劍亂舞腳本ios 發布:2025-01-21 09:41:06 瀏覽:521
2編程 發布:2025-01-21 09:36:50 瀏覽:776
把我的世界的ice伺服器炸了 發布:2025-01-21 09:31:01 瀏覽:681
sql資料庫導入數據 發布:2025-01-21 09:25:21 瀏覽:420
zynqsdk修改編譯選項 發布:2025-01-21 09:22:30 瀏覽:875
存儲器部件教學實驗 發布:2025-01-21 09:14:06 瀏覽:179
php安裝memcached擴展 發布:2025-01-21 09:07:06 瀏覽:546