#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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)