此次是在被人的基礎上做的改動,加了些功能,本人並非原作者
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...