/*使用方法可以建立英语库,每次可建立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(" __________________________________\n"); printf("| 0.建立英语库 1.进入练习 2.退出 |\n"); printf("|__________________________________|\n"); 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(count<100); fp=fopen("g:\\ctoe.txt","w"); for(i=0; i<count; i++) fprintf(fp,"%s %s\n",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; i<100; i++) fscanf(fp,"%s %s",ctoe[i].cha,ctoe[i].eng); do { for(i=0; i<grade; i++) { do { orn=rn; rn=random(num); }while(rn==orn); printf("%d\t%s\n",i,ctoe[rn].cha); printf("请翻译单词:"); scanf("%s",ieng); if(strcmp(ieng,ctoe[rn].eng)) { printf("错误正确的应是:%s\n",ctoe[rn].eng); } else { printf("您答对了请继续!\n"); score+=1; } } if(score>=grade-1)/*判定是否合格合格进入下一级*/ { grade+=10; clrscr(); printf("非常好您过关了按任意键进入下一级!"); clrscr(); getch(); } else { grade=0; clrscr(); printf("真不幸您没有过关!"); } }while(grade); fclose(fp); getch(); }
视频教程列表
文章教程搜索
C语言程序设计推荐教程
C语言程序设计热门教程
|