亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

單詞小助手C語言版

2020-01-26 13:23:23
字體:
來源:轉載
供稿:網友

單詞小助手,要求完成以下任務:

1.改寫程序為良好程序風格(文檔注釋,函數注釋,語句注釋)。

2.將單詞測試中的功能完善,可針對做錯的單詞重復記憶。

3.查詢單詞的功能添加英文詞查詢,中文查詢的功能完善(考慮如何顯示同樣中文意義,不同的英文單詞)

提高要求:可將程序中的不足(如數據驗證,排名功能)等根據自己的能力與理解完成。

一、題目分析

單詞小助手是幫助學生背誦單詞的軟件,用戶可以選擇單詞送到詞庫,并編輯詞庫,可以完成以下功能。

詞庫維護:基于文件進行管理,可以增加,修改和刪除單詞中的中文和英文,每條記錄包括英文詞意和中文詞意。
單詞預覽:顯示系統文本中所有單詞的中英文詞意。
單詞背誦(中英):隨機顯示中文詞匯,用戶需要輸入正確的英文詞意才可得分,若輸入錯誤提示用戶繼續輸入,直至輸入正確。
單詞背誦(英中):隨機顯示英文詞匯,用戶需要輸入正確的中文詞意才可得分,若輸入錯誤提示用戶繼續輸入,直至輸入正確。
查詢成績:顯示中英、英中單詞背誦的學習成績統計。
幫助:通過幫助了解系統的功能與使用方式。
增強記憶(中英):對于記錯的中英單詞重復記憶。
增強記憶(英中):對于記錯的英中單詞重復記憶。
退出系統。

二、算法構造

N-S盒圖(del()函數部分):

三、程序實現(源代碼)

#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAX_CHAR 20 // 最大字符#define MAX_NUM 200 // 單詞的最大個數struct word //單詞的結構體{ char en[MAX_CHAR]; // 英文形式 char ch[MAX_CHAR]; //中文形式} s[MAX_NUM],r[MAX_NUM]; //單詞數組int num; //單詞個數int numnum; //增強記憶單詞個數int select=1; //select 為是否退出系統的標記int d=0,c=0; //d為輸入正確的次數,c為輸入錯誤的次數void help() //幫助{ printf("/n本系統主要實現英語單詞學習的功能。用戶可對詞典文件中的單詞進行預覽,增刪改查。"); printf("/n同時還可進行中英、英中測試,答錯的題目自動加入增強記憶文件,可重復記憶。本系統還提供了查詢測試成績的顯示功能。");}  void readfile() //從文件中讀取單詞的信息{ FILE *fp; //文件指針 int i=0; fp=fopen("F://Microsoft Visual Studio//lyf.txt","r"); //以讀入方式打開目錄下的lyf.txt文件 if(!fp) //若文件lyf.data不存在,則提示打開文件失敗 { printf("/n打開文件lyf.txt失敗!");   } while(fscanf(fp,"%s %s ",s[i].en,s[i].ch)==2) //當數據增加一時,數據的總數i增加一 { i++; } num=i; if(0==i) printf("/n文件為空,請選擇詞典維護增加詞條!"); //若文件沒有單詞記錄,則提示需要維護增加詞條記錄 else printf("/n"); fclose(fp); //關閉文件 } void writefile() //從文件中讀取單詞的信息{ FILE *fp; //文件指針 int i=0; fp=fopen("F://Microsoft Visual Studio//lyf.txt","w"); //以寫入方式打開目錄下的lyf.txt文件 if(!fp) //若文件lyf.data不存在,則提示打開文件失敗 { printf("/n打開文件lyf.txt失敗!");  } for(i=0;i<num;i++) { fprintf(fp,"/n%s %s ",s[i].en,s[i].ch); } printf("/n"); fclose(fp); //關閉文件}void impmemfile() //從增強記憶文件中讀取單詞的信息 { FILE *fp; //文件指針 int i=0; fp=fopen("F://Microsoft Visual Studio//lyflyf.txt","r"); //以讀入方式打開目錄下的lyflyf.txt文件 if(!fp) //若文件lyflyf.data不存在,則提示打開文件失敗 { printf("/n打開文件lyflyf.txt失敗!");  } while(fscanf(fp,"%s %s ",r[i].en,r[i].ch)==2) //當數據增加一時,數據的總數i增加一 { i++; } numnum=i; if(0==i) printf("/n你還沒有錯題哦,繼續保持住這種狀態!"); //若文件沒有單詞記錄,則提示還沒有錯題記錄 else printf("/n"); fclose(fp); //關閉文件 } void sort() //按字典排序{ int i,j; char temp[MAX_CHAR]; for(i=0;i<num-1;i++) //比較法排序 { for(j=num-1;j>i;j--) if(strcmp(s[j-1].en,s[j].en)>0) //strcmp(s1,s2) 判斷兩個字符串s1和s2是否相同,相同返回true,不同返回false { strcpy(temp,s[j-1].en); strcpy(s[j-1].en,s[j].en); strcpy(s[j].en,temp); strcpy(temp,s[j-1].ch); strcpy(s[j-1].ch,s[j].ch); strcpy(s[j].ch,temp);  } }}  void add() //添加單詞信息{ int i=num,j,flag=1; while(flag) { flag=0; printf("/n請輸入單詞的英文形式:"); scanf("%s",s[i].en); for(j=0;j<i;j++) if(strcmp(s[i].en,s[j].en)==0) //判斷文件中是否有這個單詞 { printf("已有該單詞,請檢查后重新錄入!/n"); flag=1; break; //如有重復立即退出該層循環,提高判斷速度 }  } printf("/n請輸入單詞的中文形式:"); scanf("%s",s[i].ch); num++; printf("/n您輸入的信息為: 英文: %s 中文: %s ",s[i].en,s[i].ch); sort();} void del() //刪除單詞信息{ int i=0,j=0; char en[MAX_CHAR]; //英文形式 printf("/n請輸入你要刪除的單詞英文形式:");  scanf("%s",en); for(i=0;i<num;i++) //先找到該英文形式對應的序號 if(strcmp(s[i].en,en)==0) { for(j=i;j<num-1;j++) //后面的單詞向前移動 s[j]=s[j+1]; num--; //數量減少1 return; } printf("/n沒有這個單詞!"); } void modify() //修改單詞信息{ int i=0,choose=0,flag=1,number=0; //chooses代表選項標識,flag代表是否找到單詞 char en[MAX_CHAR]; //英文形式 char ch[MAX_CHAR]; //中文形式 printf("/n修改英文請按1,修改中文請按2"); scanf("%d",&number); switch(number) { case 1: while(flag||choose) { printf("/n請輸入你要修改的單詞英文形式:");  scanf("%s",en); for(i=0;i<num;i++) //先找到該英文形式對應的序號 if(strcmp(s[i].en,en)==0) { printf("/n請輸入單詞正確的英文形式:"); scanf("%s",s[i].en);  printf("/n請輸入此單詞正確的的中文形式:"); scanf("%s",s[i].ch);  printf("/n繼續修改請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0) return;  } flag=0;  } if(!flag) printf("/n沒有這個單詞!"); case 2: while(flag||choose) { printf("/n請輸入你要修改的單詞中文形式:");  scanf("%s",ch); for(i=0;i<num;i++) //先找到該英文形式對應的序號 if(strcmp(s[i].ch,ch)==0) { printf("/n請輸入單詞正確的中文形式:"); scanf("%s",s[i].ch);  printf("/n請輸入此單詞正確的的英文形式:"); scanf("%s",s[i].en);  printf("/n繼續修改請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0) return;  } flag=0;  } if(!flag)  printf("/n沒有這個單詞!"); }} void show() //單詞預覽{ int i=0; printf("/n單詞: 英文 中文 "); for(i=0;i<num;i++) printf("/n %-12s%-12s",s[i].en,s[i].ch); } void search() //查詢單詞{ int i=0,choose=0,flag=1,number=0; char ch[MAX_CHAR]; //中文形式 char en[MAX_CHAR]; //英文形式 printf("/n中文查詢請按1,英文查詢請按2"); scanf("%d",&number); switch(number) { case 1: while(choose||flag) { printf("/n請輸入你要查詢的單詞中文形式:");  scanf("%s",ch); for(i=0;i<num;i++)//先找到該中文形式對應的序號 if(strcmp(s[i].ch,ch)==0) {  printf("/n英文形式 中文形式 "); printf("/n %-12s%12s",s[i].en,s[i].ch); printf("/n繼續查詢請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0) return;  } flag=0; } if(!flag)  printf("/n沒有這個單詞!"); break; case 2: while(choose||flag) { printf("/n請輸入你要查詢的單詞英文形式:");  scanf("%s",en); for(i=0;i<num;i++)//先找到該英文形式對應的序號 if(strcmp(s[i].en,en)==0) {  printf("/n中文形式 英文形式 "); printf("/n %-12s%12s",s[i].en,s[i].ch); printf("/n繼續查詢請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0)  return;  } flag=0; } if(!flag)  printf("/n沒有這個單詞!"); break;  default: printf("請輸入1或2/n"); } } void zytest() //中譯英測試{  char b1[20]; int z; int choose=1; int i; FILE *fp; //文件指針 while(choose) { fp=fopen("F://Microsoft Visual Studio//lyflyf.txt","a+");  if(!fp) //若文件lyflyf.data不存在,則提示打開文件失敗 { printf("/n打開文件lyflyf.txt失敗!");  }  i = rand()%num; //產生隨機數 printf("/n【%s】請輸入英文單詞:",s[i].ch); scanf("%s",b1); for(z=0;strcmp(b1,s[i].en)!=0;z=z) { fprintf(fp,"/n%s %s ",s[i].en,s[i].ch);//回答錯誤時寫入增強記憶文件 printf("/n"); printf("/n輸入錯誤?。≌堉匦螺斎?"); scanf("%s",b1); c=c+1; numnum+=1; } fclose(fp); printf("/n恭喜你,回答正確,加10分!/n/n"); d=d+1; printf("/n繼續測試請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0)  return;   }} void yztest() //英譯中測試{ char b1[20]; int z,x=41; int choose=1; int i; FILE *fp; //文件指針 while(choose) { i = rand()%num; //產生隨機數 fp=fopen("F://Microsoft Visual Studio//lyflyf.txt","a+");  if(!fp) //若文件lyflyf.data不存在,則提示打開文件失敗 { printf("/n打開文件lyflyf.txt失敗!");  }  printf("【%s】請輸入中文意思:",s[i].en); scanf("%s",b1); for(z=0;strcmp(b1,s[i].ch)!=0;z=z) {  fprintf(fp,"/n%s %s ",s[i].en,s[i].ch);//回答錯誤時寫入增強記憶文件 printf("/n"); printf("輸入錯誤??!請重新輸入:"); scanf("%s",b1); c=c+1; numnum+=1; } fclose(fp); printf("/n恭喜你,回答正確,加10分!/n/n"); d=d+1; printf("/n繼續測試請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0)  return;  }}void zyRetest() //增強記憶 中英{  char b1[20]; int z; int choose=1; int i;  int m=0; FILE *fp; //文件指針 while(choose) { i = rand()%numnum; //產生隨機數 fp=fopen("F://Microsoft Visual Studio//lyflyf.txt","a+");  printf("/n【%s】請輸入英文單詞:",r[i].ch); //輸出中文,然后輸入單詞對應的英文詞意 scanf("%s",b1); for(z=0;strcmp(b1,r[i].en)!=0;z=z) { printf("/n輸入錯誤?。≌堉匦螺斎?"); scanf("%s",b1); c=c+1; } printf("/n恭喜你,回答正確,加10分!/n/n"); d=d+1; printf("/n繼續測試請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0)  return;   }}void yzRetest() //增強記憶 英中{  char b1[20]; int z,x=41; int choose=1; int i; FILE *fp; //文件指針 while(choose) { i = rand()%numnum; //產生隨機數 fp=fopen("F://Microsoft Visual Studio//lyflyf.txt","a+");  printf("/n【%s】請輸入英文單詞:",r[i].en); //輸出英文,然后輸入單詞對應的中文詞意 scanf("%s",b1); for(z=0;strcmp(b1,r[i].ch)!=0;z=z) { printf("/n輸入錯誤!!請重新輸入:"); scanf("%s",b1); c=c+1; } printf("/n恭喜你,回答正確,加10分!/n/n"); d=d+1; printf("/n繼續測試請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0) return;  }}void list() //成績列表{ printf("/n 共計輸入錯誤:%d次 **每次扣10分**/n",c); printf(" 共計輸入正確:%d次 **每次加10分**/n",d); printf(" 你的總得分為:%d分/n/n",10*d-10*c); }void maintain() //詞典維護 { int choose;//維護功能選擇 printf(" ------------------/n"); printf(" 1.增加單詞/n"); printf(" 2.修改單詞/n"); printf(" 3.刪除單詞/n"); printf(" 4.查詢單詞/n"); printf(" 5.退出本菜單/n"); printf(" ------------------/n"); while(1) {  printf(" /n請輸入維護功能編號:"); scanf("%d",&choose); switch(choose) { case 1: add();writefile();break; case 2: modify();writefile();break; case 3: del();writefile();break; case 4: search();break; case 5: return; default: printf("/n請在1-5之間選擇"); } }} void menu() //用戶界面{  int item; printf("/n");  printf(" *********************************************************/n"); printf("#    #/n"); printf("#  英語單詞小助手  #/n"); printf("#    #/n"); printf("#  版本 : v1.0  #/n"); printf("#    #/n"); printf(" *********************************************************/n"); printf("#    #/n"); printf("# 0.詞庫維護 1.單詞預覽  #/n"); printf("#    #/n"); printf("# 2.單詞背誦(中英) 3.單詞背誦(英中) #/n"); printf("#    #/n"); printf("# 4.查詢成績 5.幫助  #/n"); printf("#    #/n"); printf("# 6.增強記憶(中英) 7.增強記憶(英中) #/n"); printf("#    #/n"); printf("# 8.退出系統   #/n"); printf("#    #/n"); printf(" **********************************************************/n");  printf("/n"); printf(" 請選擇您需要的操作序號(0-8)按回車確認:"); scanf("%d",&item); printf("/n"); readfile(); switch(item) { case 0: maintain();break; case 1: show();break;  case 2: zytest();break; case 3: yztest(); break; case 4: list();break; case 5: help();break; case 6: impmemfile();zyRetest();break; case 7: impmemfile();yzRetest();break; case 8: select =0;break; default: printf("請在0-8之間選擇/n"); }}int main() {  while(select) { menu(); } system("pause"); return 0;}

四、調試、測試及運行結果

(1)調試

(2)測試

測試函數“單詞預覽”show()部分

測試代碼:

#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAX_CHAR 20 // 最大字符#define MAX_NUM 200 // 單詞的最大個數struct word //單詞的結構體{ char en[MAX_CHAR]; // 英文形式 char ch[MAX_CHAR]; //中文形式} s[MAX_NUM],r[MAX_NUM]; //單詞數組int num; //單詞個數int numnum; //增強記憶單詞個數int select=1; //select 為是否退出系統的標記int d=0,c=0; //d為輸入正確的次數,c為輸入錯誤的次數void readfile() //從文件中讀取單詞的信息{ FILE *fp; //文件指針 int i=0; fp=fopen("F://Microsoft Visual Studio//lyf.txt","r"); //以讀入方式打開目錄下的lyf.txt文件 if(!fp) //若文件lyf.data不存在,則提示打開文件失敗 { printf("/n打開文件lyf.txt失敗!");   } while(fscanf(fp,"%s %s ",s[i].en,s[i].ch)==2) //當數據增加一時,數據的總數i增加一 { i++; } num=i; if(0==i) printf("/n文件為空,請選擇詞典維護增加詞條!"); //若文件沒有單詞記錄,則提示需要維護增加詞條記錄 else printf("/n"); fclose(fp); //關閉文件 } void show() //單詞預覽{ int i=0; printf("/n單詞: 英文 中文 "); for(i=0;i<num;i++) printf("/n %-12s%-12s",s[i].en,s[i].ch); }void menu() //用戶界面{  int item; printf("/n");  printf(" *********************************************************/n"); printf("#    #/n"); printf("#  英語單詞小助手  #/n"); printf("#    #/n"); printf("#  版本 : v1.0  #/n"); printf("#    #/n"); printf(" *********************************************************/n"); printf("#    #/n"); printf("# 0.詞庫維護 1.單詞預覽  #/n"); printf("#    #/n"); printf("# 2.單詞背誦(中英) 3.單詞背誦(英中) #/n"); printf("#    #/n"); printf("# 4.查詢成績 5.幫助  #/n"); printf("#    #/n"); printf("# 6.增強記憶(中英) 7.增強記憶(英中) #/n"); printf("#    #/n"); printf("# 8.退出系統   #/n"); printf("#    #/n"); printf(" **********************************************************/n");  printf("/n"); printf(" 請選擇您需要的操作序號(0-8)按回車確認:"); scanf("%d",&item); printf("/n"); readfile(); switch(item) {  case 1: show();break;  case 8: select =0;break; default: printf("請在0-8之間選擇/n"); }}int main() {  while(select) { menu(); } system("pause"); return 0;} 

測試截圖:

2.測試詞典維護功能maintain()函數

測試代碼:

#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAX_CHAR 20 // 最大字符#define MAX_NUM 200 // 單詞的最大個數struct word //單詞的結構體{ char en[MAX_CHAR]; // 英文形式 char ch[MAX_CHAR]; //中文形式} s[MAX_NUM],r[MAX_NUM]; //單詞數組int num; //單詞個數int numnum; //增強記憶單詞個數int select=1; //select 為是否退出系統的標記int d=0,c=0; //d為輸入正確的次數,c為輸入錯誤的次數void readfile() //從文件中讀取單詞的信息{ FILE *fp; //文件指針 int i=0; fp=fopen("F://Microsoft Visual Studio//lyf.txt","r"); //以讀入方式打開目錄下的lyf.txt文件 if(!fp) //若文件lyf.data不存在,則提示打開文件失敗 { printf("/n打開文件lyf.txt失敗!");   } while(fscanf(fp,"%s %s ",s[i].en,s[i].ch)==2) //當數據增加一時,數據的總數i增加一 { i++; } num=i; if(0==i) printf("/n文件為空,請選擇詞典維護增加詞條!"); //若文件沒有單詞記錄,則提示需要維護增加詞條記錄 else printf("/n"); fclose(fp); //關閉文件 }void writefile() //從文件中讀取單詞的信息{ FILE *fp; //文件指針 int i=0; fp=fopen("F://Microsoft Visual Studio//lyf.txt","w"); //以寫入方式打開目錄下的lyf.txt文件 if(!fp) //若文件lyf.data不存在,則提示打開文件失敗 { printf("/n打開文件lyf.txt失敗!");  } for(i=0;i<num;i++) { fprintf(fp,"/n%s %s ",s[i].en,s[i].ch); } printf("/n"); fclose(fp); //關閉文件}void sort() //按字典排序{ int i,j; char temp[MAX_CHAR]; for(i=0;i<num-1;i++) //比較法排序 { for(j=num-1;j>i;j--) if(strcmp(s[j-1].en,s[j].en)>0) //strcmp(s1,s2) 判斷兩個字符串s1和s2是否相同,相同返回true,不同返回false { strcpy(temp,s[j-1].en); strcpy(s[j-1].en,s[j].en); strcpy(s[j].en,temp); strcpy(temp,s[j-1].ch); strcpy(s[j-1].ch,s[j].ch); strcpy(s[j].ch,temp);  } }}  void add() //添加單詞信息{ int i=num,j,flag=1; while(flag) { flag=0; printf("/n請輸入單詞的英文形式:"); scanf("%s",s[i].en); for(j=0;j<i;j++) if(strcmp(s[i].en,s[j].en)==0) //判斷文件中是否有這個單詞 { printf("已有該單詞,請檢查后重新錄入!/n"); flag=1; break; //如有重復立即退出該層循環,提高判斷速度 }  } printf("/n請輸入單詞的中文形式:"); scanf("%s",s[i].ch); num++; printf("/n您輸入的信息為: 英文: %s 中文: %s ",s[i].en,s[i].ch); sort();} void del() //刪除單詞信息{ int i=0,j=0; char en[MAX_CHAR]; //英文形式 printf("/n請輸入你要刪除的單詞英文形式:");  scanf("%s",en); for(i=0;i<num;i++) //先找到該英文形式對應的序號 if(strcmp(s[i].en,en)==0) { for(j=i;j<num-1;j++) //后面的單詞向前移動 s[j]=s[j+1]; num--; //數量減少1 return; } printf("/n沒有這個單詞!"); } void modify() //修改單詞信息{ int i=0,choose=0,flag=1,number=0; //chooses代表選項標識,flag代表是否找到單詞 char en[MAX_CHAR]; //英文形式 char ch[MAX_CHAR]; //中文形式 printf("/n修改英文請按1,修改中文請按2"); scanf("%d",&number); switch(number) { case 1: while(flag||choose) { printf("/n請輸入你要修改的單詞英文形式:");  scanf("%s",en); for(i=0;i<num;i++) //先找到該英文形式對應的序號 if(strcmp(s[i].en,en)==0) { printf("/n請輸入單詞正確的英文形式:"); scanf("%s",s[i].en);  printf("/n請輸入此單詞正確的的中文形式:"); scanf("%s",s[i].ch);  printf("/n繼續修改請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0) return;  } flag=0;  } if(!flag) printf("/n沒有這個單詞!"); case 2: while(flag||choose) { printf("/n請輸入你要修改的單詞中文形式:");  scanf("%s",ch); for(i=0;i<num;i++) //先找到該英文形式對應的序號 if(strcmp(s[i].ch,ch)==0) { printf("/n請輸入單詞正確的中文形式:"); scanf("%s",s[i].ch);  printf("/n請輸入此單詞正確的的英文形式:"); scanf("%s",s[i].en);  printf("/n繼續修改請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0) return;  } flag=0;  } if(!flag)  printf("/n沒有這個單詞!"); }}  void search() //查詢單詞{ int i=0,choose=0,flag=1,number=0; char ch[MAX_CHAR]; //中文形式 char en[MAX_CHAR]; //英文形式 printf("/n中文查詢請按1,英文查詢請按2"); scanf("%d",&number); switch(number) { case 1: while(choose||flag) { printf("/n請輸入你要查詢的單詞中文形式:");  scanf("%s",ch); for(i=0;i<num;i++)//先找到該中文形式對應的序號 if(strcmp(s[i].ch,ch)==0) {  printf("/n英文形式 中文形式 "); printf("/n %-12s%12s",s[i].en,s[i].ch); printf("/n繼續查詢請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0) return;  } flag=0; } if(!flag)  printf("/n沒有這個單詞!"); break; case 2: while(choose||flag) { printf("/n請輸入你要查詢的單詞英文形式:");  scanf("%s",en); for(i=0;i<num;i++)//先找到該英文形式對應的序號 if(strcmp(s[i].en,en)==0) {  printf("/n中文形式 英文形式 "); printf("/n %-12s%12s",s[i].en,s[i].ch); printf("/n繼續查詢請選1,返回上一級請選0:"); scanf("%d",&choose); if(choose==0)  return;  } flag=0; } if(!flag)  printf("/n沒有這個單詞!"); break;  default: printf("請輸入1或2/n"); } }void maintain() //詞典維護 { int choose;//維護功能選擇 printf(" ------------------/n"); printf(" 1.增加單詞/n"); printf(" 2.修改單詞/n"); printf(" 3.刪除單詞/n"); printf(" 4.查詢單詞/n"); printf(" 5.退出本菜單/n"); printf(" ------------------/n"); while(1) {  printf(" /n請輸入維護功能編號:"); scanf("%d",&choose); switch(choose) { case 1: add();writefile();break; case 2: modify();writefile();break; case 3: del();writefile();break; case 4: search();break; case 5: return; default: printf("/n請在1-5之間選擇"); } }}void menu() //用戶界面{  int item; printf("/n");  printf(" *********************************************************/n"); printf("#    #/n"); printf("#  英語單詞小助手  #/n"); printf("#    #/n"); printf("#  版本 : v1.0  #/n"); printf("#    #/n"); printf(" *********************************************************/n"); printf("#    #/n"); printf("# 0.詞庫維護 1.單詞預覽  #/n"); printf("#    #/n"); printf("# 2.單詞背誦(中英) 3.單詞背誦(英中) #/n"); printf("#    #/n"); printf("# 4.查詢成績 5.幫助  #/n"); printf("#    #/n"); printf("# 6.增強記憶(中英) 7.增強記憶(英中) #/n"); printf("#    #/n"); printf("# 8.退出系統   #/n"); printf("#    #/n"); printf(" **********************************************************/n");  printf("/n"); printf(" 請選擇您需要的操作序號(0-8)按回車確認:"); scanf("%d",&item); printf("/n"); readfile(); switch(item) { case 0: maintain();break; case 8: select =0;break; default: printf("請在0-8之間選擇/n"); }}int main() {  while(select) { menu(); } system("pause"); return 0;}

測試截圖:

其他部分的測試不再贅述~

(3)運行結果

1. 詞典維護

2. 單詞預覽

3.單詞背誦(中英)

4.單詞背誦(英中)

5.成績查詢

6.幫助

7.增強記憶(中英)

8.增強記憶(英中)

五、經驗歸納

(1)不足:本次試驗在原來的基礎上將單詞測試中的功能完善了一點,對做錯的單詞增強記憶功能。查詢單詞的功能添加英文詞查詢,不過在起初的時候,運行程序增強記憶函數的部分存在一些問題,盡管答錯題目但是運行結果還是顯示“你還沒有錯題哦”,經過檢查,答錯的題目并沒有寫入增強記憶文件,原因是不是以“寫”的方式進入文件,而是要以“讀”的方式進入文件。即 fp=fopen("F://Microsoft Visual Studio//lyflyf.txt","r"); //以讀入方式打開目錄下的lyflyf.txt文件

(2)心得:此次實驗我學到了許多,比如文件讀寫,隨機數的運用,switch語句的用法,for循環的用法等等,不過在實現函數功能的時候還存在許多問題,知識點并沒有完全掌握,最后經過不斷地改正和查資料才實現整個程序的功能,所以總體而言還是受益匪淺的!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av在线播放资源| 欧美日韩视频在线| 7777免费精品视频| 亚洲欧洲日本专区| 国产视频久久网| 精品国产欧美成人夜夜嗨| 精品久久久国产| 亚洲美女黄色片| 欧美国产日韩一区二区三区| 国产va免费精品高清在线观看| 亚洲国产天堂网精品网站| 日韩一级裸体免费视频| 日本精品中文字幕| 国产丝袜视频一区| 成人中文字幕+乱码+中文字幕| 国产精品成人一区| 欧美黄色片视频| 亚洲日本成人女熟在线观看| 日韩在线视频二区| 国产91精品视频在线观看| 欧美性猛交xxxx| 亚洲欧美综合精品久久成人| 丝袜情趣国产精品| 日本sm极度另类视频| 亚洲免费伊人电影在线观看av| 欧美丝袜第一区| 日本不卡高字幕在线2019| 久久久久久伊人| 91沈先生作品| 久久久精品国产| 成人黄色av网| 国产日韩欧美夫妻视频在线观看| 97色在线观看| 欧美性开放视频| 国产精品美女视频网站| 欧美亚洲日本网站| 久久综合久久八八| 国产婷婷色综合av蜜臀av| 日韩av在线网页| 伦伦影院午夜日韩欧美限制| 精品视频久久久久久久| 欧美精品午夜视频| 日韩精品中文字幕在线播放| 亚洲国产日韩欧美在线图片| 欧美激情国产精品| 中文字幕欧美精品在线| 亚洲国产日韩精品在线| 精品久久久久久久久久久久| 精品国产户外野外| 日韩精品视频观看| 一区二区三区亚洲| 亚洲第一区中文99精品| 亚洲欧洲日产国码av系列天堂| 欧美俄罗斯乱妇| 清纯唯美亚洲激情| 国产精品一区二区三区在线播放| 日韩av影视在线| 成人免费网站在线看| 欧美日韩亚洲精品内裤| 久久精品99久久久久久久久| 一区二区三区在线播放欧美| 亚洲电影天堂av| 亚洲毛茸茸少妇高潮呻吟| 欧美色欧美亚洲高清在线视频| 亚洲最大中文字幕| 亚洲高清色综合| 久久99精品久久久久久琪琪| 中文字幕av一区二区| 亚洲一区中文字幕在线观看| 播播国产欧美激情| 欧美日韩国产在线| 国产精品十八以下禁看| 欧美—级高清免费播放| 亚洲电影免费在线观看| 国内精品美女av在线播放| 美女黄色丝袜一区| 日韩精品在线影院| 国产剧情日韩欧美| 成人免费激情视频| 国产精品视频免费观看www| 色偷偷88888欧美精品久久久| 午夜免费在线观看精品视频| 亚洲福利精品在线| 久久久国产一区二区三区| 国产亚洲精品久久久久久| 欧美午夜无遮挡| 美日韩丰满少妇在线观看| 姬川优奈aav一区二区| 亚洲japanese制服美女| 欧美日韩在线视频一区| 精品视频在线观看日韩| 欧美一级电影免费在线观看| 亚洲女性裸体视频| 性欧美在线看片a免费观看| 欧美成人激情视频| 色中色综合影院手机版在线观看| 欧美一区二区三区免费观看| 国产综合色香蕉精品| 国产综合福利在线| 波霸ol色综合久久| 黄色成人在线播放| 中文国产亚洲喷潮| 欧美成人免费视频| 国产一区深夜福利| 久久久在线视频| 国语对白做受69| 日韩中文在线中文网三级| 国产做受高潮69| 亚洲成人国产精品| 亚洲午夜国产成人av电影男同| 久久福利视频网| 欧美国产在线视频| 中文字幕亚洲欧美日韩在线不卡| 国产精品久久久久久久久久三级| 亚洲第一精品夜夜躁人人躁| 欧美午夜视频一区二区| 久久不射热爱视频精品| 成人在线中文字幕| 日韩福利在线播放| 日韩成人中文电影| 国产日本欧美一区二区三区| 日韩在线欧美在线国产在线| 中文字幕在线看视频国产欧美| 国产精品免费一区二区三区都可以| 久久国产精品首页| 国产精品电影网站| 国产精品中文久久久久久久| 91超碰caoporn97人人| 超在线视频97| 亚洲成人三级在线| 亚洲精品一区在线观看香蕉| 中文字幕亚洲一区在线观看| 中文字幕久热精品在线视频| 国产日韩精品综合网站| 久久久久九九九九| 亚洲精品av在线播放| 日韩成人激情在线| 欧美黑人一区二区三区| 亚洲一级黄色av| 欧美一级电影免费在线观看| 色哟哟入口国产精品| 国产精品大片wwwwww| 亚洲精品ady| 亚洲男人天堂2019| 日韩精品视频在线观看网址| 亚洲福利精品在线| 久久国产精品偷| 自拍偷拍亚洲一区| 色综合久综合久久综合久鬼88| 中文字幕日韩av综合精品| 最近的2019中文字幕免费一页| 亚洲图中文字幕| 欧美高清在线视频观看不卡| 久久国产精品免费视频| 欧美性受xxxx白人性爽| 国产女人精品视频| 中文字幕国产精品| 国产噜噜噜噜久久久久久久久| 日韩激情av在线播放| 日韩视频―中文字幕| 九九热精品在线| 久久久成人精品视频| 一区二区三区视频在线| 中文字幕久久精品|