日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言常用英语单词大全下载,C语言实现英文单词助手

發布時間:2023/12/1 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言常用英语单词大全下载,C语言实现英文单词助手 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

英文單詞小助手的實現步驟,供大家參考,具體內容如下

題目需求分析:

英文單詞小助手是幫助學生背誦單詞的軟件,用戶可以選擇背誦的詞庫,并可以編輯自己的詞庫,還應有詞語預覽學習功能。系統可以給出中文,讓學生輸入其英文詞意,也可輸入英文讓學生輸入其中文詞意,并判定詞意是否正確。如不正確則給出提示并要求用戶重新輸入,如正確則加分。

根據題目需求,系統的基本功能如下。

(1) 詞庫維護:基于文件進行管理,可以增加、刪除和修改單詞的中英文詞意。每條記錄應包括英文詞意、中文詞意。

(2) 單詞預覽:系統隨機顯示一條記錄,在屏幕上顯示中英文詞義。

(3) 中英單詞背誦:隨機顯示中文詞匯,用戶需輸入正確地英文詞意才可得分。如輸入錯誤則會提示用戶繼續輸入,直至輸入正確。

(4) 英中單詞背誦:隨機顯示英文詞匯,用戶需輸入正確的中文詞意才可得分。如輸入錯誤則會提示用戶繼續輸入,直至輸入正確。

(5) 成績查詢:顯示中英、英中背誦學習的成績統計。

(6) 幫助:通過幫助了解系統的功能與使用方式。

(7) 退出:退出系統。

具體實現:

/**

* @file chapter.cpp

* @brief 英語單詞小助手

* @version 1.0

* @author Jack

* @date 2018年9月6日

*/

#include

#include

#include

#define MAX_CHAR 20 // 最大字符

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

/**

* @Description 單詞的結構體

*/

struct word

{

char en[MAX_CHAR]; // 英文形式

char ch[MAX_CHAR]; // 中文形式

} s[MAX_NUM]; // 單詞數組

int num; // 單詞個數

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

int d = 0, c = 0;

/**

* @Description 幫助

*/

void help()

{

printf("\n本系統主要實現英語單詞學習的功能。用戶可對詞典文件中的單詞進行預覽,增刪改查。");

printf("\n同時還可進行中英、英中測試。本系統還提供了測試成績的顯示功能。");

}

/**

* @Description 從文件中讀取單詞的信息

*/

void readfile()

{

FILE *fp;

int i = 0;

fp=fopen("data.txt", "r");

if(!fp)

{

printf("\n打開文件data.txt失敗!");

}

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

{

i++;

}

num = i;

if(0 == i)

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

else

printf("\n");

fclose(fp);

}

/**

* @Description 向文件中寫入單詞的信息

*/

void writefile()

{

FILE *fp;

int i = 0;

fp=fopen("data.txt", "w");

if(!fp)

{

printf("\n打開文件data.txt失敗!");

}

for(i=0;i

{

fprintf(fp, "\n%s %s ", s[i].en,s[i].ch);

}

printf("\n");

fclose(fp);

}

/**

* @Description 按字典排序

*/

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)

{

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);

}

}

}

/**

* @Description 添加單詞信息

*/

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();

}

/**

* @Description 刪除單詞信息

*/

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沒有這個單詞!");

}

/**

* @Description 修改單詞信息

*/

void modify()

{

int i = 0, choose = 0, flag = 1;// chooses代表選項標識,flag代表是否找到單詞

char en[MAX_CHAR];// 英文形式

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沒有這個單詞!");

}

/**

* @Description 單詞預覽

*/

void show()

{

int i = 0;

printf("\n單詞: 英文 中文 ");

for(i = 0;i < num;i++)

printf("\n %-12s%-12s", s[i].en, s[i].ch);

}

/**

* @Description 查詢單詞

*/

void search()

{

int i = 0, choose = 0, flag = 1,status = 0;

printf("請輸入查詢方式(1.按中文查詢 2.按英文查詢):");

scanf("%d", &status);

if(status == 1){

char ch[MAX_CHAR];// 中文形式

while(choose || flag)

{

printf("\n請輸入你要查詢的單詞中文形式:");

scanf("%s", ch);

for(i = 0;i < num;i++)// 先找到該中文形式對應的序號

{

while(strcmp(s[i].ch, ch) == 0)

{

printf("\n英文形式 中文形式 ");

printf("\n %-12s%12s", s[i].en, s[i].ch);

i++;

}

}

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

scanf("%d", &choose);

if(choose == 0)

return;

flag = 0;

}

if(!flag){

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

}

}else{

char en[MAX_CHAR];// 英文形式

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沒有這個單詞!");

}

}

}

/**

* @Description 中英單詞背誦

*/

void zytest()

{

char b1[20];

int z;

int choose = 1;

int i;

int t;

while(choose)

{

i = rand() % num;

printf("\n【%s】請輸入英文單詞:",s[i].ch);

scanf("%s",b1);

for(z = 0;strcmp(b1, s[i].en) != 0;z = z)

{

printf("\n輸入錯誤!!請重新輸入:");

scanf("%s", b1);

c = c + 1;

t = 0;

}

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

d = d + 1;

if(t == 0){

printf("剛剛記錯的單詞是:%s,請再記一次!", s[i].en);

}

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

t = 1;

scanf("%d", &choose);

if(choose == 0)

return;

}

}

/**

* @Description 英中單詞背誦

*/

void yztest()

{

char b1[20];

int z,x = 41;

int choose = 1;

int i;

i = rand() % num;

while(choose)

{

printf("【%s】請輸入中文意思:", s[i].en);

scanf("%s", b1);

for(z = 0;strcmp(b1, s[i].ch) != 0;z = z)

{

printf("輸入錯誤!!請重新輸入:");

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;

}

}

/**

* @Description 成績列表

*/

void list()

{

printf("\n 共計輸入錯誤:%d次 **每次扣10分**\n", c);

printf(" 共計輸入正確:%d次 **每次加10分**\n", d);

printf(" 你的總得分為:%d分\n\n", 10 * d - 10 * c);

}

/**

* @Description 詞典維護

*/

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之間選擇");

}

}

}

/**

* @Description 用戶界面

*/

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.退出系統 #\n");

printf(" # #\n");

printf(" *********************************************************\n");

printf("\n");

printf(" 請選擇您需要的操作序號(0-5)按回車確認:");

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:

select = 0;

break;

default:

printf("請在0-6之間選擇\n");

}

}

int main()

{

while(select)

{

menu();

}

system("pause");

return 0;

}

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

總結

以上是生活随笔為你收集整理的c语言常用英语单词大全下载,C语言实现英文单词助手的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。