C語言實現單詞小助手

2022-10-03 23:36:20 字數 2973 閱讀 9067

問題描述

對於任意給定的單詞小助手程式(現有功能可以實現查單詞的增刪改查、中英、英中測試和分數顯示功能),完善其單詞查詢、錯誤單詞重複記憶和排行功能。

問題分析

首先附上給出的初始**(已經可以實現基本功能)

#include

#include

#include

#define max_char 20 // 最大字元

#define max_num 200 // 單詞的最大個數

struct word

//單詞的結構體

s[max_num]; //單詞陣列

int num; //單詞個數

int select=1;//select 為是否退出系統的標記

int d=0,c=0;

//幫助

void help()

//從檔案中讀取單詞的資訊

void readfile()

while(fscanf(fp,"%s %s ",s[i].en,s[i].ch)==2)

num=i;

if(0==i)

printf("\n檔案為空,請選擇詞典維護增加詞條!");

else

printf("\n");

fclose(fp); }

//從檔案中讀取單詞的資訊

void writefile()

for(i=0;ii;j--)

if(strcmp(s[j-1].en,s[j].en)>0)

}} //新增單詞資訊

void add()

printf("\n沒有這個單詞!"); }

//修改單詞資訊

void modify()

}int main()

system("pause");

return 0;

} 感興趣的使用者可以自己執行測試,在這裡僅附上一張主介面圖,其餘暫不贅述~

關鍵演算法構造

在這裡參考了一些學長學姐寫過的部落格...

1>單詞查詢

由於這裡要求在原有程式基礎上新增顯示同樣中文意義,不同的英文單詞的功能,因此我將查詢函式分設立兩個子模組:漢語查詢、英語查詢以解決顯示同樣中文意義,不同的英文單詞和一詞多義的情況。具體思想為:設定乙個記錄遍歷單詞陣列的下標變數k初值為-1,在每次遍歷之前置位-1,遍歷的過程中如果遇到一次多譯或一意多詞的情況就更新下標變數k的值,以此錄入多條單詞意思,如果遍歷結束k仍未-1就沒有找到單詞。

這裡我以中文查詢為例:

//查中文

void chsearch()

w[max_num];//錯誤單詞陣列

依照個人理解,這裡應該和單詞背誦模組大同小異~建立乙個錯詞結構體,把單詞背誦過程中的錯詞記錄下來,依次存到錯詞陣列裡就好~

3>使用者排行

使用者資訊結構體:

//使用者資訊結構體

typedef struct user

user;

user users[max_user];//使用者結構體陣列

user nowuser;

再定義乙個使用者資訊的結構體,規定使用者上限,針對不同的使用者儲存不同的分數,在排行榜裡展示~(時間有限,這裡還沒有實現)

執行結果

程式源**

這裡僅供參考,因為還有部分功能沒有完善......

#include

#include

#include

#include

#define max_char 20 // 最大字元

#define max_num 200 // 單詞的最大個數

#define max_user 5 //使用者的最大個數

struct word

//單詞的結構體

s[max_num]; //單詞陣列

//錯誤單詞的結構體

struct wrongword

w[max_num];//錯誤單詞陣列

//使用者資訊結構體

typedef struct user

user;

user users[max_user];//使用者結構體陣列

user nowuser;

int num;//單詞個數

int select=1;//select 為是否退出系統的標記

int d=0,c=0;//c統計輸入錯誤次數 d統計輸入正確次數

//函式宣告

void reciteallvocabulary();

void recitewron**ocabulary();

//讀檔案(單詞詞庫)

void readvocabularyfile()

while(fscanf(fp,"%s %s ",s[i].en,s[i].ch)==2)//?

num=i;

if(i==0)

printf("\n哎呀,詞庫空空如也~,請先選擇詞典維護增加詞條哦!\n");

else

printf("\n");

fclose(fp);}

//讀檔案(錯詞詞庫)

void readwron**ocabularyfile()

while(fscanf(fp,"%s %s ",w[i].en,w[i].ch)==2)//?

num=i;

if(i==0)

}else

fclose(fp);}

//寫檔案(單詞詞庫)

void writevocabularyfile()

for(i=0;ii;j--)

if(strcmp(s[j-1].en,s[j].en)>0)

}}

//新增單詞資訊

void add()}

int main()

system("pause");

return 0;

}本文標題: c語言實現單詞小助手

本文位址: /ruanjian/c/281515.html

C語言實現單詞小助手改進版

一 題目分析 單詞小助手,要求完成以下任務 1.改寫程式為良好程式風格 文件注釋,函式注釋,語句注釋 2.將單詞測試中的功能完善,可針對做錯的單詞重複記憶。3.查詢單詞的功能新增英文詞查詢,中文查詢的功能完善 考慮如何顯示同樣中文意義,不同的英文單詞 提高要求 可將程式中的不足 如資料驗證,排名功能...

C語言實現英文單詞助手

英文單詞小助手的實現步驟,供大家參考,具體內容如下 題目需求分析 英文單詞小助手是幫助學生背誦單詞的軟體,使用者可以選擇背誦的詞庫,並可以編輯自己的詞庫,還應有詞語預覽學習功能。系統可以給出中文,讓學生輸入其英文詞意,也可輸入英文讓學生輸入其中文詞意,並判定詞意是否正確。如不正確則給出提示並要求使用...

c語言單詞小助手

此次是在被人的基礎上做的改動,加了些功能,本人並非原作者 1.將程式為了具有良好的程式風格 文件注釋,函式注釋,語句注釋 2.對部分功能做了完善完善,針對做錯的單詞重複記憶,列出了 錯詞表這一欄,使用者可以檢視錯詞表重複記憶,也可以刪除錯詞表中的某些單詞。3.完善了查詢單詞的功能,支援英文查詢以及中...