单项选择题标准化考试系统
}
} else
printf(\出错!不能打开文件!\exit(0);
for(i=0;i fprintf(fp2,\ fclose(fp2); int shumu() { int i=0; if((fp1=fopen(\ { printf(\出错!不能打开文件!\ exit(0); } while(!feof(fp1)) fscanf(fp1,\ { on[i].b,question[i].c,question[i].d); } void shanchu(void) { int a,i; m=shumu(); printf(\共有%d道题\\n\printf(\请输入要删除的题号:\scanf(\ } i++; m=i; fclose(fp1); return m; 第 16 页 共 30 页 单项选择题标准化考试系统 readq(); reada(); for(i=a-1;i strcpy(question[i].timu,question[i+1].timu); strcpy(question[i].a,question[i+1].a); strcpy(question[i].b,question[i+1].b); strcpy(question[i].c,question[i+1].c); strcpy(question[i].d,question[i+1].d); answer[i].a=answer[i+1].a; } void zengjia(void) { int i; m=shumu(); i=m; printf(\共有%d道题\\n\readq(); reada(); printf(\输入您要增加的题目:\\n\printf(\请输入题号:\scanf(\answer[i].t=question[i].t; printf(\请输入题干:\scanf(\} m=m-1; writeq(); writea(); printf(\请输入选项A:\ scanf(\ printf(\请输入选项B:\scanf(\printf(\请输入选项C:\ 第 17 页 共 30 页 单项选择题标准化考试系统 scanf(\printf(\请输入选项D:\scanf(\ printf(\请输入答案:\ getchar(); scanf(\ if((fp1=fopen(\{ printf(\出错!不能打开文件!\ exit(0); } if((fp2=fopen(\{ printf(\出错!不能打开文件!\ exit(0); } fprintf(fp1,\ a,question[i].b,question[i].c,question[i].d); } void xiugai(void) { int n; m=shumu(); printf(\共有%d道题\\n\readq(); reada(); fprintf(fp2,\fclose(fp1); fclose(fp2); printf(\请输入您要修改的题号:\ scanf(\n=n-1; question[n].t=n+1; answer[n].t=n+1; 第 18 页 共 30 页 单项选择题标准化考试系统 printf(\请输入题干:\ scanf(\ printf(\请输入选项A(请以A.开头):\ scanf(\ printf(\请输入选项B(请以B.开头):\ scanf(\ printf(\请输入选项C(请以C.开头):\ scanf(\ printf(\请输入选项D(请以D.开头):\ scanf(\ printf(\请输入答案:\ } void teacher(void) { int b; char c; int menu_select(); m=shumu(); printf(\共有%d道题\\n\getchar(); scanf(\writeq(); writea(); printf(\您可以对试题库进行以下维护操作:\\n\ printf(\、删除\\n2、增加\\n3、修改\\n请选择:\ scanf(\switch(b) { } printf(\是否继续?(Y/是,N/否)\getchar(); case 1: shanchu();break; case 2: zengjia();break; case 3: xiugai();break; 第 19 页 共 30 页 单项选择题标准化考试系统 } scanf(\getchar(); if(c=='Y') teacher(); else if(c=='N') menu_select(); void student(void) { int menu_select(); int a,i,j,n; int as[100],bb[100]; char b,c,d; char ans[100]; printf(\开始做题?(Y/是,N/否)\getchar(); scanf(\getchar(); if(b=='Y') { m=shumu(); printf(\共有%d道题\\n\printf(\请输入答题数:\scanf(\srand(time(NULL)); for(i=0;i printf(\ as[i]=rand()%(m-0+1)+0; 第 20 页 共 30 页