?? 輕松背單詞.txt
字號:
char filename[60],word[150][24],eg[150][24],ans1[150][24],ans2[150][24];
int sz[150],ysz[150],dh[150],ls[150];
void main()
{
char fp,hc,js,n;
int t,k,key,dc,dz,flg,ans,an1,an2,flg2,x,y,z;
ChDir("/");
for (;;) {
if (!FileList(filename)) {
ChDir("..");
continue;
}
if (ChDir(filename)) continue;
break;
}
SetScreen(0);
Locate(2,0);
printf(filename);
if ((fp=fopen(filename,"r"))==0)
printf("打開文件敗!");
else printf("打開文件成功!");//打開第一個文件
if ((hc=fopen("/LavaData/huancong.txt","w+"))==0)
exit(0);
else printf("打開文件成功");//打開第2個文件
SetScreen(1);
printf("你想測驗從第0個單詞開始\n共0個");
z=1;
while(z)
{
key=getchar();
if(key==14&&dz<150)dz=dz+1;
if(key==19&&dz>0)dz=dz-1;
if(key==20&&dz<150)dz=dz+10;
if(key==21&&dz>10)dz=dz-10;
if(key==23&&dc>0)dc=dc-10;
if(key==22)dc=dc+10;
if(key==13)break;
if(key==27)
{
fclose(fp);
fclose(hc);
exit(0);
}
SetScreen(1);
printf("你想測驗從第%d個單詞開始\n共%d個",dc,dz);
}
rewind(fp);
rewind(hc);
k=1;
flg=0;
SetScreen(1);
Locate(3,7);
printf("裝載中......");
Box(10,54,150,64,0,1);
while(!feof(fp))
{
n=getc(fp);
z=12+100*k/(dc+dz)*136/100;
Box(12,56,z,62,0,1);
if(n==13)
{
flg2=1;
k=k+1;
if((ls[k-1-dc]-ysz[k-1-dc]<21)&&(ls[k-1-dc]-ysz[k-1-dc]>2))dh[k-1-dc]=ls[k-1-dc]-ysz[k-1-dc];
else dh[k-1-dc]=20;
}
if(k>=dc&&k<=dz+dc)
{
if(n=='[')
{
flg=1;
ysz[k-dc]=ftell(hc);
fseek(hc,ftell(hc)-1,0);
putc(' ',hc);
}
if(n==']')
{
flg=0;
flg2=0;
n=getc(fp);
n=getc(fp);
}
if(n==13)sz[k-dc]=ftell(hc);
if(flg2==0)
{if((ftell(hc)-ysz[k-dc])<20)
if(n==','||n==13)
ls[k-dc]=ftell(hc);
}
if(flg==0)
{
putc(n,hc);
}
}
if(k>dz+dc)break;
}
fclose(fp);
for(k=1;k<dz;k++)
{
SetScreen(2);
ClearScreen();
fseek(hc,sz[k]+2,0);
fread(word[k],1,ysz[k]-sz[k]-2,hc);
fseek(hc,ysz[k],0);
fread(eg[k],1,dh[k],hc);
srand(Getms());
for(dc=0;dc<=Getms();dc++)
{
ans=rand();
}
ans=ans*Getms()%3;
do
{
an1=rand()%3;
}
while(an1==ans);
do
{
an2=rand()%3;
}
while(an1==an2||an2==ans);
do
{
x=rand()%dz;
y=rand()%dz;
}
while(x==y||!x||!y||x==k||y==k);
fseek(hc,ysz[x],0);
fread(ans1[k],1,dh[x],hc);
fseek(hc,ysz[y],0);
fread(ans2[k],1,dh[y],hc);
TextOut(1,1,word[k],0);
TextOut(1,15,"1.",0);
TextOut(1,30,"2.",1);
TextOut(1,45,"3.",1);
if(an1==0)TextOut(10,15,ans1[k],1);
if(an2==0)TextOut(10,15,ans2[k],1);
if(ans==0)TextOut(10,15,eg[k],1);
if(an1==1)TextOut(10,30,ans1[k],1);
if(an2==1)TextOut(10,30,ans2[k],1);
if(ans==1)TextOut(10,30,eg[k],1);
if(an1==2)TextOut(10,45,ans1[k],1);
if(an2==2)TextOut(10,45,ans2[k],1);
if(ans==2)TextOut(10,45,eg[k],1);
Refresh();
while(1)
{
key=getchar();
if(key=='b')key=0;
if(key=='n')key=1;
if(key=='m')key=2;
if(key==ans){
SetScreen(0);
printf("you are right\nhow clever you are !");
flg=flg+1;
getchar();
break;
}
Box(0,0,160,80,1,1);
Line(1,1,160,80,0);
Line(1,80,160,1,0);
getchar();
SetScreen(1);
printf("you are worry\n正確答案是:\n%s\n%s",word[k],eg[k]);
getchar();
break;
}
}
SetScreen(1);
printf("一共測驗了%d個單詞,答對了有%d個",k,flg);
getchar();
fclose(hc);
getchar();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -