C语言代码标准化考试系统研究.docx
- 文档编号:20183805
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:15
- 大小:16.71KB
C语言代码标准化考试系统研究.docx
《C语言代码标准化考试系统研究.docx》由会员分享,可在线阅读,更多相关《C语言代码标准化考试系统研究.docx(15页珍藏版)》请在冰豆网上搜索。
C语言代码标准化考试系统研究
#include
#include
#include
#include
voiddenglu();
voidzhucexuesheng();
voidzhucejiaoshi();
voidaddxuesheng(charid[],charpassword1[]);
voidteacdenglu();
voidstudentdenglu();
voidaddqueestions(intm);
intsave(intm);
voidxueshengjiemian();
intreadfp();
voidanswer(intn);
voidaddnewti();
voidteachermenu();
#definemax50
typedefstructexam{
charquestion[100];
charA[30];
charB[30];
charC[30];
charD[30];
charanswer[1];
}examnode;
intsize=sizeof(structexam);
intcheck(structexamp,charr);
intN;
structexamtimu[50];
intmain()
{
system("color3A");
denglu();
return0;
}
/*----------------------------系统打开界面---------------------------------*/
voiddenglu()
{
intchoice,choi;
printf("\n");
printf("〒〒〒〒〒欢迎进入标准化考试系统:
〒〒〒〒〒\n");
printf("★★★★★★★★★welcome★★★★★★★★★\n");
printf("\t*【1】学生注册*\n");
printf("\t*【2】登陆账户*\n");
printf("\t*【0】退出*\n");
printf("请输入你的选择:
\n");
scanf("%d",&choice);
switch(choice)
{
case1:
printf("注册:
\n");
zhucexuesheng();
break;
case2:
printf("请选择登陆类型:
\n");
printf("1-----学生2-----教师");
scanf("%d",&choi);
switch(choi)
{
case1:
studentdenglu();
break;
case2:
teacdenglu();
default:
printf("无效选项\n");
denglu();
}
case0:
printf("系统即将关闭...");
exit(0);
default:
printf("无效的选项\n");
denglu();
}
}
/*------------------------------------------学生注册-------------------------------------*/
voidzhucexuesheng()/*学生注册*/
{
inti;
charid[10],password1[10],password2[10];
printf("注册\n请输入学生姓名:
");
scanf("%s",id);
printf("请输入密码:
\n");
for(i=0;i<10;)
{
password1[i]=getch();
if(password1[i]==8)
{
printf("\b\b");
i--;
password1[i]='\0';
continue;
}
if(password1[i]==13)
{
password1[i]='\0';
break;
}
else
printf("*");
i++;
}
printf("\n请再次输入密码:
\n");
for(i=0;i<10;)
{
password2[i]=getch();
if(password2[i]==8)
{
printf("\b\b");
i--;
password2[i]='\0';
continue;
}
if(password2[i]==13)
{
password2[i]='\0';
break;
}
else
printf("*");
i++;
}
if(strcmp(password1,password2)!
=0)
{
printf("\n密码不一致,注册失败\n");
exit(0);
}
else
addxuesheng(id,password1);
}
/*------------------------------把学生信息存到文件里--------------------------------------*/
voidaddxuesheng(charid[],charpassword1[])
{
FILE*fp;
fp=fopen("D:
\\xuesheng.txt","a");
fprintf(fp,"%s%s\n",id,password1);
fclose(fp);
printf("恭喜你,注册成功!
\n");
system("PAUSE");
denglu();
}
/*---------------------------------教师登录界面---------------------------------------------*/
voidteacdenglu()
{
inti;
charpassword1[10],password2[10]={'a','d','m','i','n'};
printf("\n");
printf("〒〒〒〒〒欢迎进入标准化考试系统教师后台:
〒〒〒〒〒\n");
printf("★★★★★★★★★★★welcome★★★★★★★★★★★\n");
printf("教师登陆\n请输入操作密码:
\n");
for(i=0;i<10;)
{
password1[i]=getch();
if(password1[i]==8)
{
printf("\b\b");
i--;
password1[i]='\0';
continue;
}
if(password1[i]==13)
{
password1[i]='\0';
break;
}
else
printf("*");
i++;
}
if(strcmp(password1,password2)==0)
{printf("登陆成功\n");
teachermenu();
}
else
printf("密码错误,系统将返回\n");
denglu();
}
/*----------------------------------------教师操作界面-----------------------------------*/
voidteachermenu()
{intchoice,m;
printf("\n");
printf("〒〒〒〒〒欢迎进入标准化考试系统教师后台:
〒〒〒〒〒\n");
printf("★★★★★★★★★★★welcome★★★★★★★★★★★\n");
printf("1-----增加题库内容2-----显示所有试题\n");
printf("3-----题库题目修改4-----删除题库题目\n");
printf("5-----查询学生成绩0-----退出系统\n");
printf("请输入你的选择:
\n");
scanf("%d",&choice);
switch(choice)
{
case1:
printf("输入你要增加的题目的数量\n");
scanf("%d",&m);
getchar();
addqueestions(m);
break;
//case2:
//dispayall();
//break;
//case3:
//editquestion();
//break;
//case4:
//delet();
//break;
//case5:
//search();
//break;
case0:
printf("将要退出系统\n");
exit(0);
default:
printf("无效选项,请重新输入\n");
teachermenu();
}
}
/*---------------------------------增加题库内容----------------------------*/
voidaddqueestions(intm)
{
inti;
if(m<0||m>size)
{printf("输入有误");
teachermenu();
}
for(i=0;i { printf("请输入第%d道题题目及选项: \n",i+1); printf("请输入题目: "); gets(timu[i].question); printf("请输入选项A: "); gets(timu[i].A); printf("请输入选项B: "); gets(timu[i].B); printf("请输入选项C: "); gets(timu[i].C); printf("请输入选项D: "); gets(timu[i].D); printf("请输入答案: "); scanf("%c",&timu[i].answer); getchar(); save(m); size++; } } intsave(intm) { inti; FILE*fp; if((fp=fopen("D: \\exampaper","wb"))==NULL) {printf("文件无法打开,错误! \n"); exit(0); } for(i=0;i {fwrite(&timu[i],sizeof(examnode),1,fp);} fclose(fp); printf("保存成功"); return1; } /*---------------------------------------学生操作界面-----------------------------------*/ voidstudentdenglu() { intcheck=0,i; charname[30],password1[10],usr[30]; FILE*fp; printf("\n"); printf("〒〒〒〒〒欢迎进入标准化考试系统: 〒〒〒〒〒\n"); printf("★★★★★★★★★welcome★★★★★★★★★\n"); printf("请输入姓名"); scanf("%s",name); printf("请输入密码"); for(i=0;i<10;) { password1[i]=getch(); if(password1[i]==8) { printf("\b\b"); i--; password1[i]='\0'; continue; } if(password1[i]==13) { password1[i]='\0'; break; } else printf("*"); i++; } strcat(name,""); strcat(name,password1); strcat(name,"\n"); if((fp=fopen("D: \\xuesheng.txt","r"))==NULL) {printf("文件打开失败\n"); exit(0); } while(! feof(fp)) { fgets(usr,30,fp); if(strcmp(name,usr)==0) { xueshengjiemian(); check=1; } } if(check==0) printf("\n登陆密码错误"); exit(0); } /*-----------------------------------------学生界面---------------------------------*/ voidxueshengjiemian() {intn,i; intscore=0; charr[1]; printf("〒〒〒〒〒欢迎进入标准化考试系统: 〒〒〒〒〒\n"); printf("★★★★★★★★★welcome★★★★★★★★★\n"); printf("-------------——开始考试-----------------\n"); readfp(); printf("输入你想完成的选择题的数目: "); scanf("%d",&n); for(i=0;i { printf("%s\n",timu[i].question); printf("A: %s",timu[i].A); printf("B: %s\n",timu[i].B); printf("C: %s",timu[i].C); printf("D: %s\n",timu[i].D); printf("请输入你的答案: "); scanf("%c",r); getchar(); if(strcmp(r,timu[i].answer)==0) {printf("恭喜你,答案正确"); score++; } else {printf("很遗憾,答案错误\n"); printf("正确答案: %c\n",timu[i].answer); } } printf("本次考试结束,你的得分为%d",score); } intreadfp()//从文件读出结构体数组的内容, {FILE*fp; inti=0; if((fp=fopen("D: \\exampaper","rb"))==NULL) return0; while(! feof(fp))//用feof检测文件是否结束,如果结束,返回正确 {fread(&timu[i],sizeof(timu[i]),1,fp); i++; } N=i-1; returnN; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 代码 标准化 考试 系统 研究