最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實現(xiàn)電子英漢詞典系統(tǒng)

 更新時間:2022年06月02日 10:04:55   作者:普通學長  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)電子英漢詞典系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)電子英漢詞典系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

一、設(shè)計功能(文章僅供參考)

a. 詞條錄入:即添加單詞記錄。 
b. 信息顯示:將所有的單詞按字母順序顯示。 
c. 詞條修改:對已經(jīng)輸入的單詞信息進行修改。 
d. 詞條刪除:刪除某個單詞記錄。 
e. 單詞查詢: 輸入單詞英文拼寫,輸出該單詞的中文釋義。 
f. 信息保存:將單詞信息保存到文件。 
g. 退出系統(tǒng) 

二、功能展示

三、思維導圖

四、程序源碼

#include <stdio.h>?? ?//引入庫函數(shù)
#include <stdlib.h>
#include <string.h>
#define szWORD 50?? ?//單詞長度最大50
#define szSTRN 200?? ?//釋義長度最大200
#define szProject sizeof(struct Dictionary)
char fileDict[szSTRN];
typedef struct ? Dictionary{
char word[szWORD];
char mean[szSTRN];
} Project ; //定義字典結(jié)構(gòu)體,定義兩個字符型變量單詞和釋義
fpos_t consult(char *word, char *mean)
{
FILE * f = 0; Project ?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, szProject , 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 Search(void);
void Append(void);
void Delete(void);
void Update(void);
?
int main(int argk, char * argh[])
{
int m= 0;
if(argk>1)?
? strcpy(fileDict, argh[1]);
else
? strcpy(fileDict, "c:\\dict.txt");
for(;;) {
printf("\n\
--------------------\n\
歡迎使用電子英漢詞典!\n\
--------------------\n\
1 - 查詢詞條\n\
2 - 新增詞條\n\
3 - 刪除詞條\n\
4 - 修改詞條\n\
5 - 退出詞典\n\
--------------------\n");
? m = getchar() - '0';
? switch(m) {
case 1: Search();break;
case 2: Append();break;
case 3: Delete();break;
case 4: Update();break;
default : return 0;}
}
return 0;
}
?
void Search(void)
{
?Project i; fpos_t p = 0;
memset(&i, 0, szProject );
printf("please input the word ?you want:"); scanf("%s", i.word );
p = consult(i.word, i.mean );
if(p==0) {
? printf("sorry do not find what you want!\n");
? return;
}
printf("單詞:%s\n釋義:%s", i.word , i.mean );
}
void Append(void)
{
Project ?i; FILE * f = 0; fpos_t p = 0;
memset(&i, 0, szProject );
printf("please input the word you want:"); scanf("%s", i.word );
p = consult(i.word,0);
if(p) ? ? {
? printf("sorry do not find what you want!\n");
? return;
}
printf("please giving the meaning,按確認結(jié)束:");?
fflush(stdin);
gets(i.mean );
f = fopen(fileDict, "ab");
fwrite(&i, szProject , 1, f);
fclose(f);
printf("詞條已新增\n");
}
void Delete(void)
{
?Project ?i; FILE * f = 0; fpos_t p = 0;
memset(&i, 0, szProject );
printf("please input the word you want:"); scanf("%s", i.word );
p = consult(i.word, 0 );
if(p==0) {
? printf("sorry do not find what you want!\n");
? return;
}
p--;
memset(&i, 0, szProject);
f = fopen(fileDict, "rb+");
fsetpos(f, &p);
fwrite(&i, szProject , 1, f);
fclose(f);
printf("詞條已刪除\n");
}
void Update(void)
{
?Project ?i; FILE * f = 0; fpos_t p = 0;?
memset(&i, 0, szProject );
printf("please input the word you want:"); scanf("%s", i.word );
p = consult(i.word, 0 );
if(p==0) {
? printf("sorry do not find what you want!\n");
? return;
}
p--;
printf("please giving the meaning,按確認結(jié)束(輸入drop放棄修改):");?
fflush(stdin);
gets(i.mean );
if(strstr(i.mean ,"drop")) {
? printf("已放棄修改!\n");
? return ;
}
f = fopen(fileDict, "rb+");
fsetpos(f, &p);
fwrite(&i, szProject , 1, f);
fclose(f);
printf("詞條已保存\n");
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • 利用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖

    利用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖

    這篇文章主要介紹了如何利用Matlab實現(xiàn)圖像亮度分布統(tǒng)計圖的繪制,文中的示例代碼講解詳細,對我們學習Matlab有一定的幫助,感興趣的可以了解一下
    2022-05-05
  • Qt 使用 canon edsdk 實現(xiàn)實時預(yù)覽的示例代碼

    Qt 使用 canon edsdk 實現(xiàn)實時預(yù)覽的示例代碼

    這篇文章主要介紹了Qt 使用 canon edsdk 實現(xiàn)實時預(yù)覽的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • C++學習之線程詳解

    C++學習之線程詳解

    多線程是開發(fā)中必不可少的,往往我們需要多個任務(wù)并行,就需要多線程開發(fā)。本文將帶大家深入學習一下C++中的常用的一些知識點,感興趣的同學可以了解一下
    2021-12-12
  • C++/CLI在vs上的安裝和初步使用教程

    C++/CLI在vs上的安裝和初步使用教程

    本文給大家介紹C++/CLI在vs上的安裝和初步使用,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-07-07
  • C語言遞歸函數(shù)與漢諾塔問題簡明理解

    C語言遞歸函數(shù)與漢諾塔問題簡明理解

    遞歸(recursive)函數(shù)是“自己調(diào)用自己”的函數(shù),無論是采用直接或間接調(diào)用方式。間接遞歸意味著函數(shù)調(diào)用另一個函數(shù)(然后可能又調(diào)用第三個函數(shù)等),最后又調(diào)用第一個函數(shù)。因為函數(shù)不可以一直不停地調(diào)用自己,所以遞歸函數(shù)一定具備結(jié)束條件
    2022-07-07
  • c++如何保存vector到文件

    c++如何保存vector到文件

    這篇文章主要介紹了c++如何保存vector到文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++高級數(shù)據(jù)結(jié)構(gòu)之優(yōu)先隊列

    C++高級數(shù)據(jù)結(jié)構(gòu)之優(yōu)先隊列

    這篇文章主要介紹了C++高級數(shù)據(jù)結(jié)構(gòu)之優(yōu)先隊列,文章圍繞主題的相關(guān)資料展開詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • C++中String的語法及常用接口的底層實現(xiàn)詳解

    C++中String的語法及常用接口的底層實現(xiàn)詳解

    在C語言中,string是一個標準庫類(class),用于處理字符串,它提供了一種更高級、更便捷的字符串操作方式,string 類提供了一系列成員函數(shù)和重載運算符,以便于對字符串進行操作和處理,本編文章會對C++中的 string 進行詳解,希望本篇文章會對你有所幫助
    2023-06-06
  • 談?wù)凜語言中位運算你要知道的那些事兒

    談?wù)凜語言中位運算你要知道的那些事兒

    C語言中的各種運算都是以字節(jié)的形式進行,在編寫很多系統(tǒng)程序時,如驅(qū)動程序、磁盤文件管理程序等,常要求將數(shù)據(jù)按位(bit)進行運算或者處理,下面這篇文章主要給大家介紹了關(guān)于C語言中位運算的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • C語言實現(xiàn)簡單掃雷小程序

    C語言實現(xiàn)簡單掃雷小程序

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單掃雷小程序,一款大眾類的益智小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10

最新評論

蓬溪县| 衡水市| 广德县| 南和县| 龙南县| 中卫市| 依安县| 黔江区| 平定县| 莒南县| 金溪县| 威信县| 筠连县| 且末县| 安岳县| 兴和县| 英德市| 江阴市| 上思县| 商丘市| 张家川| 兰溪市| 民丰县| 台江县| 康乐县| 财经| 濉溪县| 社旗县| 临湘市| 达孜县| 普陀区| 调兵山市| 怀化市| 香港| 慈利县| 二连浩特市| 应城市| 洪湖市| 新安县| 广德县| 乡城县|