c語言單詞小助手

2021-08-27 14:11:40 字數 4230 閱讀 1645

此次是在被人的基礎上做的改動,加了些功能,本人並非原作者

1.將程式為了具有良好的程式風格(文件注釋,函式注釋,語句注釋)。

2.對部分功能做了完善完善,針對做錯的單詞重複記憶,列出了 錯詞表這一欄,使用者可以檢視錯詞表重複記憶,也可以刪除錯詞表中的某些單詞。

3.完善了查詢單詞的功能,支援英文查詢以及中文查詢。中文查詢時,具有相同中文含義的英文單詞,也會一一枚舉出來。

4.增加排行榜功能。

//*********英語單詞小助手***********

//版本:v1.2

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

#include

#include

#include

#define max_char 20 // 最大字元

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

struct word//單詞的結構體

s[max_num]; //單詞陣列

struct sco//使用者的結構體

user[max_char]; //單詞陣列

struct word w[max_num];//定義乙個錯誤單詞的結構體陣列

int m;

int num; //單詞個數

int wnum;//記錄錯誤單詞的總數

int unum;//記錄使用者的個數

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;i//迴圈遍歷寫入單詞

printf("\n");

fclose(fp);//關閉檔案

}//向使用者檔案寫入使用者資訊的函式

void writeuserfile()

printf("\n開啟檔案data.txt失敗!");

}//讀取錯題庫檔案

void readwrongfile()

while(fscanf(fp,"%s %s ",w[i].en,w[i].ch)==2)//讀取下乙個單詞

wnum=i;//記錄單詞總數

if(0==i)

// printf("\n檔案為空,棒棒噠,你還沒有記錯單詞喲");

printf("\n");

else

printf("\n");

fclose(fp);//關閉檔案

}//讀取成績排行榜檔案

void readrankfile()

while(fscanf(fp,"%s %d ",user[i].id,user[i].sc)==2)//讀取下乙個單詞

unum=i;//記錄單詞總數

if(0==i)

printf("\n");

else

printf("\n");

fclose(fp);//關閉檔案

}void sort()/*按字典排序*/

}} //新增單詞資訊函式

void add()

}printf("\n請輸入單詞的中文形式:");

scanf("%s",s[i].ch);//接收使用者輸入的中文含義

num++;//單詞數增加

printf("\n您輸入的資訊為: 英文: %s 中文: %s ",s[i].en,s[i].ch);

sort();//呼叫字典排序函式

}//刪除 單詞庫 中的單詞資訊函式

void del()

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

}//刪除 錯題庫 中的單詞資訊函式

void delwrong()

printf("\n您還沒有背錯這個單詞!");

}//修改單詞庫資訊

void modify()

flag=0;//關鍵字標識

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

}//單詞預覽,檢視單詞庫中單詞的預覽

void show()

//遍歷錯題庫中單詞並列印出來

void showwrong()

}//列印排行榜

void showuser()

//查詢單詞。主要包括中文查詢,英文查詢

void search()

printf("\n繼續查詢請選1,返回上一級請選0:");

scanf("%d",&choose);

if(choose==0) return;

flag=0;

}if(!flag) printf("\n沒有這個單詞!");//修改關鍵字,退出迴圈

}else

if(searchway==2)

printf("\n繼續查詢請選1,返回上一級請選0:");

scanf("%d",&choose);

if(choose==0) return;

flag=0;

}if(!flag) printf("\n沒有這個單詞!");//修改關鍵字,退出迴圈。}}

}//中譯英測試

void zytest()

printf("\n恭喜你,回答正確,加10分!\n\n");

d=d+1;//回答正確的單詞數+1,分數增加

fp=fopen("wrongword.txt","a");//開啟記錄錯誤單詞的資料夾

if(!fp)//如果檔案不存在則開啟失敗

else

printf("\n繼續測試請選1,返回上一級請選0:");

scanf("%d",&choose);//從鍵盤接受使用者接下來選擇的操作

if(choose==0) return;

}}//英譯中測試

void yztest()

printf("\n恭喜你,回答正確,加10分!\n\n");

d=d+1;//回答正確的單詞數+1,分數增加

fp=fopen("wrongword.txt","a");//開啟記錄錯誤單詞的資料夾

if(!fp)//如果檔案不存在,宣告開啟檔案失敗錯誤

else

printf("\n繼續測試請選1,返回上一級請選0:");

scanf("%d",&choose);//接收使用者的選擇

if(choose==0) return;

}}//檢視您的成績

void

list()

else

}}//詞典維護,主要包括單詞的增加,修改,刪除以及查詢

void maintain()

}}//使用者介面,主要介面選單

void menu()

}int main() //主函式,程式的入口

system("pause");

return

0;}

功能

單詞查詢

如下圖,針對單詞查詢做了優化,支援中英文查詢,中文查詢中,含義相通的英文單詞也可顯示出來。

登入簡單的登入,記錄使用者名稱

錯題集答錯過的單詞會顯示在這裡

因為時間問題,很多地方還很不完善,存在很多的bug,**有些冗餘。另外,此處總共有三個檔案,分別存放詞庫,錯題庫,使用者的賬號和成績。

C語言 單詞小助手

對於任意給定的單詞小助手程式 現有功能可以實現查單詞的增刪改查 中英 英中測試和分數顯示功能 完善其單詞查詢 錯誤單詞重複記憶和排行功能。首先附上給出的初始 已經可以實現基本功能 include include include define max char 20 最大字元 define max n...

單詞小助手(C語言改進)

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

單詞小助手(C)

英語單詞小助手 源 include include include define max char 20 最大字元 define max num 200 單詞的最大個數 struct word 單詞的結構體 s max num 單詞陣列 int num 單詞個數 int select 1 selec...