收藏 分销(赏)

单项选择题标准化考试系统设计C语言实训.doc

上传人:人****来 文档编号:9860216 上传时间:2025-04-11 格式:DOC 页数:10 大小:29.50KB 下载积分:8 金币
下载 相关 举报
单项选择题标准化考试系统设计C语言实训.doc_第1页
第1页 / 共10页
单项选择题标准化考试系统设计C语言实训.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
单项选择题标准化考试系统设计C语言实训 10 2020年4月19日 文档仅供参考,不当之处,请联系改正。 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include<string.h> #include<time.h> struct test { char ask[500];//选择题题目 char answer1[100]; char answer2[100]; char answer3[100]; char answer4[100]; char da[100]; int title[100];//随机抽题 char right[10]; } m[1000]; void menu() { printf(" ***********单项选择题标准化考试系统³*********\n"); printf(" *********************************************\n"); printf(" 1.试题录入 ***\n"); printf(" 2.查看所有试题 ***\n"); printf(" 3.试题抽取并答题 ***\n"); printf(" 4.判卷并打分 ***\n"); printf(" 5.退出系统 ***\n"); printf(" ********************************************\n"); } int input(int cnt) { int i,count,choice=0; printf("开始输入记录...\n"); count=cnt; for(i=cnt;i<1000;i++) { printf("Continue?(1 Yes 0 No):"); scanf("%d",&choice); getchar(); if(choice==0) break; else if(choice==1) { printf("请输入第%d道题题目,题干和选项:\n",i+1); printf("请输入题目:"); gets(m[i].ask); printf("请输入选项A:"); gets(m[i].answer1); printf("请输入选项B:"); gets(m[i].answer2); printf("请输入选项C:"); gets(m[i].answer3); printf("请输入选项D:"); gets(m[i].answer4); printf("请输入答案:"); scanf("%c",&m[i].right); cnt++; } } if(count!=cnt) printf("\n题目输入成功:"); else printf("\n未输入记录!"); return cnt; } void list(int cnt) { int i; printf("开始显示所有题目..."); printf("\n当前文件夹中所有记录显示如下:\n\n"); for(i=0;i<cnt;i++) { printf("第(%d)题目:%s\n",i+1,m[i].ask); printf("A:%s\n",m[i].answer1); printf("B:%s\n",m[i].answer2); printf("C:%s\n",m[i].answer3); printf("D:%s\n",m[i].answer4); getchar(); } printf("所有题目显示完成..."); } void rande(int cnt) { int i,j,x=1,n,t; int title[100]; printf("请输入你想抽取的题数:"); scanf("%d",&n); if(n>cnt) printf("您抽取的题目超过了题目总数"); else { for(i=1;i<=n;i++) { here:x=rand()%n; title[i]=x; for(j=0;j<i;j++) if(title[i]==title[j]) { goto here; } printf(" =============================================\n"); printf("输出抽取到的第%d题目",i); printf("ÌâÄ¿:%s\n",m[x].ask); printf("A:%s\n",m[x].answer1); printf("B:%s\n",m[x].answer2); printf("C:%s\n",m[x].answer3); printf("D:%s\n",m[x].answer4); printf("请输入你的答案:"); scanf("%s",m[x].da); printf(" =============================================\n"); } } printf("´答题成功,按任意键返回主菜单..."); } void ask(int cnt) { int i,n; int count=0; printf("请输入已经答题的数目:"); scanf("%d",&n); for(i=0;i<cnt;i++) { if(!strcmp(m[i].da,m[i].right)) { count++; } } printf("你答正确总题数是%d\n",count); printf("你最后的得分为%d",(100/n)*count); system("pause"); } int main() { FILE * fp; int i=0,count=0,select; fp=fopen("tiku.txt","a+"); if(fp==NULL) { printf("File open error!\n"); exit(0); } while(!feof(fp)) { if(fread(&m[i],sizeof(struct test),1,fp)==1) { i++; count++; } } fclose(fp); while(1) { printf("当前文件夹总共有%d条记录.\n",count); menu(); printf("请输入你的选择:"); scanf("%d",&select); switch(select) { case 1: count=input(count);break; case 2: list(count);break; case 3: rande(count);break; case 4: ask(count);break; case 5: fp=fopen("tiku.txt","w"); printf("开始保存文件,按任意键继续........"); getchar(); getchar(); for(i=0;i<count;i++) { fwrite(&m[i],sizeof(struct test),1,fp); } fclose(fp); printf("\n文件保存成功,按任意键退出系统....."); getchar(); exit(0); default:printf("输入错误,请重新输入....."); } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服