【 tulaoshi.com - 编程语言 】
                             
                              /*使用方法可以建立英语库,每次可建立100个单词*/
  #include io.h
  #include stdio.h
  #include stdlib.h
  #include time.h
  typedef strUCt
  {
   char cha[50];
   char eng[50];
  }CTOE;
  void writefile();
  void practicec();
  int main()
  {
   char id;
   FILE *fp;
   if((fp=fopen("g:ctoe.txt","r"))==NULL)/*检测文件是否成在如无文件测建立*/
   {
    printf("not file!");
    clrscr();
    writefile();/*建立函数*/
   }
   do
   {
    clrscr();
    printf(" __________________________________");
    printf(" 0.建立英语库  1.进入练习  2.退出 ");
    printf("__________________________________");
    id=getch();
    switch(id)
    {
     case '0':writefile(); break;/*建立文件*/
     case '1':practicec(); break;/*进入测试题*/
    }
   }while(id!='2');
   fclose(fp);
  }
  void writefile()
  {
   CTOE ctoe[100];
   FILE *fp;
   int i,count=0;
   do
   {
    printf("%dinput china:",count+1);
    scanf("%s",ctoe[count].cha);
    printf("%dinput english:",count+1);
    scanf("%s",ctoe[count].eng);
    count++;
   }while(count100);
   fp=fopen("g:ctoe.txt","w");
   for(i=0; icount; i++)
       fprintf(fp,"%s %s",ctoe[i].cha,ctoe[i].eng);
   fclose(fp);
  }
  void practicec()
  {
   CTOE ctoe[100];
   char ieng[20];
   int num=100,rn=0,orn,grade=30;
   int score=0;
   FILE *fp;
   int i;
   fp=fopen("g:ctoe.txt","r");
   for(i=0; i100; i++)
       fscanf(fp,"%s %s",ctoe[i].cha,ctoe[i].eng);
   do
   {
    for(i=0; igrade; i++)
      {
       do
       {
        orn=rn;
        rn=random(num);
       }while(rn==orn);
       printf("%d%s",i,ctoe[rn].cha);
       printf("请翻译单词:");
       scanf("%s",ieng);
       if(strcmp(ieng,ctoe[rn].eng))
         {
   printf("错误正确的应是:%s",ctoe[rn].eng);
         }
       else
         {
   printf("您答对了请继续!");
   score+=1;
         }
      }
      if(score=grade-1)/*判定是否合格合格进入下一级*/
        {
         grade+=10;
         clrscr();
         printf("非常好您过关了按任意键进入下一级!");
         clrscr();
         getch();
        }
        else { grade=0;
        clrscr();
        printf("真不幸您没有过关!");
      }
   }while(grade);
   fclose(fp);
  getch();
  }