用C语言编写“背单词 程序”

用C语言编写“背单词 程序”,第1张

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

struct word //定义一个word的结构体,里面的两个成员分别放英语单词和相应的汉语翻译

{

char chinese[20]

char english[20]

}

int point=0 //统计分数的

int count1=0 //测试的次数

void tianjia(struct word str[100],int &count) //函数声明,往词库中添加词组

void shuchu(struct word str[100],int &count) //函数声明,输出词库中所有的词组

void fanyi1(struct word str[100],int &count) //函数声明,输入汉语,对英语翻译的考察

void fanyi2(struct word str[100],int &count)

void chaxun(int point,int count1) //函数声明,输出成绩!

void main()

{

int count=0

struct word str[100] //定义一个结构体数组str

int n

char ch,chioch

while(1)

{

printf("*************背单词系统*********************\n")

printf("*************1,添加词库*********************\n")

printf("*************2,汉译英***********************\n")

printf("*************3,英译汉***********************\n")

printf("*************4,输出所有词库*****************\n")

printf("*************5,成绩查询*********************\n")

printf("*************0,退出*************************\n")

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

printf("请输入你要经行的 *** 作:\n")

scanf("%d",&n)

switch(n)

{

case 1:tianjia(str,count)break //函数调用

case 2:fanyi1(str,count)break //函数调用

case 3:fanyi2(str,count)break //函数调用

case 4:shuchu(str,count)break

case 5:chaxun(point,count1)break //函数调用

case 0:{printf("你确认要退出吗?y/n!!\n")

scanf("%c%c",&ch,&chioch)

if(ch=='y'||ch=='Y') exit(0)

}

default :printf("你输入了错误的 *** 作,无法执行!!!")

exit(0)

}

}

}

void tianjia(struct word str[100],int &count)//往词库中添加词组

{

char ch

do{

printf("录入词库!!!\n")

printf("请输入词库中的英语单词:\n")

scanf("%s",str[count].english)

printf("\n请输入相应的中文意思:\n")

scanf("%s",str[count].chinese)

count++

printf("是否继续录入?y/n!!!\n")

scanf("%s",&ch)

}while(ch=='y')

printf("%d\n\n",count)

}

void shuchu(struct word str[100],int &count) // 输出词库中所有的词组

{

int i=0

printf("输出词库中所有的单词!!!\n")

if(count<=0) {printf("没有任何单词,无法输出!!!\n")return}

else {

for(i=0i<counti++){

printf("英文单词是:%s",str[i].english)

printf("\n相应的中文意思是:%s",str[i].chinese)

printf("\n\n")

}

printf("词库所有单词输入完毕!!!!\n")

}

}

void fanyi1(struct word str[100],int &count)//输入汉语,对英语翻译的考察

{

int i

char ch[20]

char bh[20]

printf("请输入英语单词:\n")

scanf("%s",ch)

printf("请输入翻译后的中文:\n")

scanf("%s",bh)

for(i=0i<counti++)

{

if(strcmp(ch,str[i].english)==0)

{

if(strcmp(bh,str[i].chinese)==0)

{

point++

count1++

printf("恭喜你!!答对了!!!\n")

}

else

{

count1++

printf("很遗憾,答错了!!!正确的翻译是:%s\n",str[i].chinese)

}

}

}

}

void fanyi2(struct word str[100],int &count) //输入英语,对汉语翻译的考察

{

int i

char ch[20]

char bh[20]

printf("请输入中文:\n")

scanf("%s",ch)

printf("请输入翻译后的英文:\n")

scanf("%s",bh)

for(i=0i<counti++)

{

if(strcmp(ch,str[i].chinese)==0)

{

if(strcmp(bh,str[i].english)==0){

point++

count1++

printf("恭喜你!!答对了!!!\n")

}

else

{

count1++

printf("很遗憾,答错了!!!正确的翻译是:%s\n",str[i].english)

}

}

}

}

void chaxun(int point,int count1)

{

printf("本次测试的成绩是:\n")

printf("总共:%d个\n",count1)

printf("正确:%d个\n",point)

// printf("正确率为:%d\%\n",point*100/count1)

}

#包括

#包括

包括

结构的字/ /构造一个单词的定义,其中两名成员提出英语单词和相应的中国翻译

{

字符中国[20] [20]

炭英语

}

整数点= 0/ /统计分数

诠释COUNT1 = 0/ /添加一些测试

无效田家(字的海峡[100],诠释计数)/ /函数声明的词汇短语

无效叔初(字海峡结构[100],诠释计数)/ /函数声明,所有的输出词典中的短语

无效fanyi1(结构字海峡“[100],诠释及数量)/ /函数声明,输入中文,英文翻译访问以

无效fanyi2(字海峡结构[100],诠释计数)的

无效的chaxun(INT点,诠释COUNT1),/ /函数声明的输出结果!

无效的主要()

{

诠释计数= 0

结构字海峡“[100]/ /定义一个结构海峡

整数N

字符CH chioch阵列

(1)

{

printf的(“ *************背单词系统********************* \ n“)

printf(”请* ************ 1,添加词库********************* \ n“)

printf(”请* ************中国英语*********************** \ n“)

输出( “************* 3,英语对中国*********************** \ n”)

>printf(“请************* 4,输出所有的词库***************** \ n”}

输出(“************* 5,成绩查询********************* \ n”)

输出(“************* 0,退出************************* \ n”)/>printf(“请******************************************** \ N“)

printf的(”请输入您去 *** 作的行:\ n“)

scanf的(”%d“,&N)

<BR /开关(N)

{

案件1:田家(STR,计数)打破/ /函数调用

案例2:fanyi1(海峡,计数)打破/ /函数调用

案例3:fanyi2(海峡,计数)打破/ /函数调用

情况下,叔初(海峡,计数)突破

案例5:chaxun(点,COUNT1)的打破/ /函数调用

情况下,0:{printf的(“你确定要退出吗?Y / N!\ n”)

scanf的(“%C%C”,&通道,chioch)

(CH =='Y'| | CH =='Y')出口(0)

}

默认:printf(“请您输入错误的 *** 作不能被执行“)

出口(0)

}

}

}

无效田家(字海峡结构[100],诠释计数)/ /的词汇短语

{

字符CH

{

printf的(“词库输入!\ n “)

printf的(”请输入英文单词的词汇:\ n“)

scanf函数(”%s“的话,str [计数。英语)

printf的(”\ n请进入中国的意义:\ n“)

scanf的(”%s“的话,str [计数]。中国)

数+ +

printf的(”是否继续进入Y / N!\ n“)

scanf的(”%s“,&CH)

}(CH =='Y')

输出,计数(“%d \ n \ n”)

}

无效叔初(字STR [100],诠释计数)/ /输出词典短语

{

INT I = 0

printf的(“输出词典的词!\ n”)

(<= 0){printf(“请不的话,可以不输出!\ n“)回报}

其他{

(i = 0<算,我+ +){

printf的(”英语单词:%s“的话,str [i]的英文)

printf的(”\ n中国的意义:%s“的话,str [i]的中国)

printf的(”\ n \ n“)

}

printf的(“词库所有单词输入完毕!!\ n”)

}

}

无效fanyi1(字海峡结构[100],诠释计数)/ /输入中文,英文翻译访问

{

字符路[20]

字符BH [20]

printf的(“请输入英文单词:\ n”)

scanf的(“%s”,CH)

printf(“请输入一个翻译的中国:\ n“)

scanf的(”%s“,BH)

(i = 0我算,我+ +)

{

(STRCMP(通道,海峡[I]英语)== 0)

{

(STRCMP(BH海峡[I]。中国)== 0)

{

点+ +的

COUNT1 + +

printf的(“恭喜你!正确!\ n”)

}

其他

{ / a>

COUNT1 + +

printf的(“不幸的是,弄错了!!正确的翻译是:%S \ n”,STR [I]。中国)

} BR />}

}

}

无效fanyi2(结构字海峡“[100],INT和数)/ /输入英文,中文翻译访问

{

诠释我

字符CH [20]

字符BH [20]

printf的(“请进入中国:\ n“)

scanf的(”%s“,CH)

printf的(”请输入英文翻译:\ n“)

scanf的(”%s的“ BH)

为(i = 0<计数我+ +)

{

(STRCMP(CH话,str [i]的。中国)== 0) />{

(STRCMP(BH,海峡[I]。英语)== 0){

点+ +

COUNT1 + +

printf的(“恭喜,你得到它!!\ n“)

}

其他

{

COUNT1 + +

printf的(”不幸的是,答错了!正确的翻译是:%S \ n“,STR [I]英语)

}

}

}

}

无效chaxun(点,诠释COUNT1)

{

printf的(“本次测试的结果是:\ n”)

>printf(“请总数:%d \ n”,COUNT1)</输出(正确:%DA \ n“,点)

/ / printf(”请正确率:%d \ \ n “,点* 100/count1)

}

这还不简单?

为每个单词设定一个索引值。

假设一共有100个单词吧?

使用rand()%100,就可以得到0-99之间的随机值了。

+1就是1—100之间的随机值。

你先定义一个容量为200或更大的数组,给他们全部用上述方法附上随机值。然后挨个读取就可以了。

至于具体代码要自己研究。注意:

1.要生成随机种子。srand((unsigned)time(0))否则总是生成同一个。

2.随机种子产生以此即可。

3.你还可以使用队列,挨个读取,还可以设定优先级,让经常错的优先级提高--这就算人工智能吧,呵呵。

http://zhidao.baidu.com/question/38052334.html


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11811747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存