当前位置:首页 » 编程语言 » c语言在线考试系统

c语言在线考试系统

发布时间: 2022-07-28 22:22:02

c语言做驾校理论考试系统

/*
我试过 wint-tc 了,它只支持C语言,还是建议你使用VC或者c-free
程序我已经修改好了,可以在win-tc下运行了。但是要用
【超级工具集---中文DOS环境运行】,否则无法正确输出中文!!!
*/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define true 1
#define false 0
int main(int argc, char *argv[])
{
char option[100]; /*记录用户的选择项(如 A B C D) */
int score; /*记录得分 */
int problem_number; /*记录题号 */
int result[100]; /*记录答题情况 */
FILE *problem_file; /*文件指针 */
char problem_file_name[100];/*记录试题库名称 (如 A.txt) */
char title[300]; /*每道问题的题目 */
char term[300]; /*每道问题的选项 */
char answer[100]; /*每到问题的答案 */
int i;

printf("************************************************\n");
printf("******************请选择题号********************\n");
printf("**********A套 B套 C套************\n");
printf("************************************************\n");

/* 选择试题 */
printf("请选择:");
do
{
scanf("%s",option);
if(strcmp(option,"A")==0 || strcmp(option,"B")==0||
strcmp(option,"C")==0 ||strcmp(option,"a")==0 ||
strcmp(option,"b")==0 || strcmp(option,"c")==0)
break;
else
{
printf("*************选择有误,请重新选择!*************\n");
printf("请选择:");
}
}while(1);

/* 从文件打开试题 */
strcpy(problem_file_name,strcat(option,".txt"));
if((problem_file=fopen(problem_file_name,"r"))==NULL)
{
printf("\n\n*****************试题库已经损坏!***************\n");
exit(0);
}

/*开始考试 */
printf("\n************************************************\n");
printf("*****************欢迎您参加考试*****************\n");
printf("************************************************\n\n");

score=0;
problem_number=1;
while(fscanf(problem_file,"%s",title)!=EOF)
{
printf("%s\n",title); /* 输出题目 */

for(i=1;i<=4;i++) /*读入 ABCD 4 个选项 */
{
fscanf(problem_file,"%s",term);
printf("%s\n",term);
}
/*读入正确答案 */
fscanf(problem_file,"%s",answer);

printf("\n回答:"); /*考生回答 */
do
{
scanf("%s",option);
if(strcmp(option,"A")==0 || strcmp(option,"B")==0||
strcmp(option,"C")==0 || strcmp(option,"D")==0||
strcmp(option,"a")==0 || strcmp(option,"b")==0||
strcmp(option,"c")==0 || strcmp(option,"d")==0)
break;
else
{
printf("*************有误,请重新选择回答***********\n");
printf("\n回答:");
}
}while(1);

/*对考生答案进行大小写转化 */
if(option[0]>='a')
option[0]-='a'-'A';
/* 答对等分 */
if(strcmp(answer,option)==0)
{
score+=5;
result[problem_number++]=true;
} /*否则不得分 */
else
{
result[problem_number++]=false;
}
printf("\n");
}

printf("\n**************** 您的得分:%4d ****************\n",score);
printf("************************************************\n");
printf("*******你的答题情况【正确:R 错误:W】**********\n");
for(i=1;i<=20;i++)
{
printf("**[%2d : %c]**",i,result[i]==true?'R':'W');
if(i%4==0)
printf("\n");
}
printf("************************************************\n");

system("pause");
return 0;
}
/*

试题库录入规则:
1)每道考题分为5个部分:题目;选项A;选项B;选项C;选项D;答案。

2)题目,选项A;选项B;选项C;选项D 都不能含有空格!!!

3)答案由 A ,B ,C ,D 这四个字符之一组成,一定要是大写!!!

4)每道题目的5个部分之间可以有任意的空格和换行。

5)每道题目间也可以有任意空格和换行。

6)题目总数为 20 道。

试题库使用规则:
1)试题库录入后(一共三套),分别保存为 A.txt ,B.txt,C.txt 三个文档

2)试题库 A.txt ,B.txt,C.txt 要和本程序生成的
可执行文件放在同一个目录下面!!!

************************样卷(不含本行)*****************************

1、伪造、变造或者使用伪造、变造的机动车行驶证的,由公安机关交通管理部门予以收缴,_____,并处200元以上2000元以下罚款。

A、收缴号牌
B、扣留该机动车
C、拘留驾驶人
D、吊销驾驶证

B

2、会车中遇到对方来车行进有困难需借道时,应_____。
A、不侵占对方道路,正常行驶
B、示意对方停车让行
C、靠右侧加速行驶
D、尽量礼让对方先行
D

3、照明、信号装置失效的故障机动车,应当使用_____。
A、软连接牵引
B、专用清障车拖曳
C、轮式专用机械车拖曳
D、硬连接牵引
B

4、图中交通警察的手势为_____信号。
A、直行
B、转弯
C、停止
D、靠边停车
A

5、交通肇事逃逸是指发生交通事故,当事人为逃避_____,驾驶车辆或者遗弃车辆逃离现场的行为。
A、记分
B、罚款
C、法律追究
D、行政处罚
C

6、发动机着火,错的做法是_____。
A、迅速关闭发动机
B、用覆盖法灭火
C、开启发动机罩灭火
D、用灭火器灭火
C

7、图中标志是_____,表示前方有分流车道,车辆应按箭头方向直行或驶出主车道。
A、合流诱导标
B、交叉口诱导标
C、分流诱导标
D、出口诱导标
C

8、驾乘人员下车时应_____。
A、停车后立即开门下车
B、观察前方交通情况
C、先开车门再观察侧后情况
D、先观察侧后情况,再缓开车门
D

9、行车中遇有前方发生交通事故,需要帮助时,应_____。
A、尽量绕道躲避
B、立即报警,停车观望
C、协助保护现场,并立即报警
D、加速通过,不予理睬
C

10、汽车通过窄桥时,最高时速不准超过_____。
A、50公里
B、30公里
C、60公里
D、40公里
B

11、图中标志的含义是_____。
A、左侧通行
B、右侧通行
C、禁止通行
D、两侧通行
D

12、座椅安全头枕的主要作用是_____。
A、在车辆行驶过程中使头部放松
B、车辆发生追尾事故时保护颈椎
C、车辆发生追尾事故时保持正确姿势
D、长时间驾驶时使颈部放松
B

13、机动车在高速公路上发生故障时,警告标志应当设置在故障车来车方向_____以外。
A、30米
B、50米
C、100米
D、150米
正确答案:D

14、图中警察手势为_____信号。
A、左转弯待转
B、左转弯
C、左小转弯辅助
D、左小转弯
A

15、车辆突然发生侧翻时的错做法是:_____。
A、双手紧握转向盘
B、双脚钩住踏板
C、背部紧靠座椅靠背
D、开启车门跳车
正确答案:D

16、汽车驶入非机动车道,最高时速不准超过_____。
A、30公里
B、40公里
C、50公里
D、60公里
A

17、驾驶车辆驶入高速公路加速车道后,遇行车道车辆稀少时,可_____。
A、从正常行驶车辆后驶入行车道
B、从正常行驶车辆前驶入行车道
C、停车等待正常行驶车辆通过
D、加速直接驶入行车道
A

18、行车中制动突然失灵时,驾驶人要沉着镇静,握紧转向盘,_____进行减速
A、连续踩踏制动踏板
B、利用“抢挡”或驻车制动
C、迅速踏下离合器踏板
D、迅速拉紧驻车制动器操纵杆
B

19、公安机关交通管理部门对非本辖区机动车有违法行为记录的,可以将记录违法行为的信息、证据转至_____公安机关交通管理部门。
A、机动车号牌核发地
B、驾驶证核发地
C、资格证核发地
D、身份证核发地
A

20、机动车在高速公路行驶,_____。
A、可在路肩停车上下人员
B、可在紧急停车带停车装卸货物
C、可在减速车或加速道上超车、停车
D、非紧急情况时不得在应急车道行驶或者停车
D

************************样卷结束(不含本行)************************
*/

㈡ C语言设计:单项选择题标准化考试系统

#include "insert_delete.h"
ncompare()
{
char s[100];
char key[100]="haha";
while(1)
{
printf("请输入密码进行验证:");
there: scanf("%s",s);
if(strcmp(s,key)==0)
{
printf("密码验证正确,进入答题系统........\n");
break;
}
else
{
printf("密码错误,请重新输入:");
goto there;
}

}

}
//菜单
menu_list()
{

int c;
printf(" *******************主菜单**********************\n");
printf(" 1 进入答题\n");
printf(" 2 录入新的试题\n");
printf(" 3 删除记录试题\n");
printf(" 4 插入试题到指定位置\n");
printf(" 5 保存试题到文本\n");
printf(" 6 判断试题,查看成绩\n");
printf(" 7 输出例题以及答案\n");
printf(" 8 载入试题库\n");
printf(" 9 退出答题系统\n");
printf(" ***********************************************\n");
printf(" 请选择你想要的操作(1-9):");
scanf("%d",&c);
if(c<1||c>9)
{
printf("操作数据错误!请重新输入选项:\n");
return 0;
}
else
return c;

}
//答题系统
test_test(struct test *p,int n)
{
int j;
int num;
int i;
int th=0;
int tem[100];
if(n==0)
printf("目前题库中还没有题目,请载入题库后在进行操作\n");
else
{
printf("首先请输入你希望测试的题目个数,系统会随机分配你输入个数的题目(目前总题目个数为%d)\n请输入要测试的题目个数:",n);
scanf("%d",&num);
for(i=0;i<num;i++)
{

here: th=rand()%n;
tem[i]=th;
for(j=0;j<i;j++)
if(tem[j]==tem[i])
{
goto here;
}
printf(" =============================================\n");
printf(" 题目:%s\n",p[th].tm);
for(j=0;j<4;j++)
{
printf(" 选项:%s\n",p[th].xx[j]);
}
printf(" 请输入你的答案(注意是大小写,大小写错误记零分):");
scanf("%s",p[th].as);
printf(" =============================================\n");

}
}
}
//试题录入
test_in(struct test *p,int n)
{
int i,j=0;
char sign='y';
while(sign=='Y'||sign=='y')
{
printf("===========请按提示输入数据===========\n");
printf("请输入题目:");
getchar();
aa: gets(p[n+j].tm);
for(i=0;i<n+j;i++)
if(p[n+j].tm[0]==p[i].tm[0])
{
printf("已有题号,请重新输入!\n题号:");
goto aa;
}
for(i=1;i<=4;i++)
{
printf("请输入第%d个选项:",i);
gets(p[n+j].xx[i-1]);
}
printf("请输入正确答案:");
scanf("%s",p[n+j].da);
printf("====>提示是否继续录入试题(Y or y继续,任意键退出):\n");
getchar();
scanf("%c",&sign);
j++;
}
printf(" ===============转到主菜单==================\n");
return n+j;

}
//文件保存
void save(struct test *ts,int n)
{
FILE *fp;
int i=0;
char filename[50];
printf("请输入导出文件夹,列如:G:\\f1\\score.txt\n");
scanf("%s",filename);
if((fp=fopen(filename,"w+"))==NULL)
{
printf("文件保存失败!");
exit(1);
}
while(i<n)
{
fwrite(&ts[i],sizeof(struct test),1,fp);
i++;
}
fclose(fp);
printf("------记录已保存到文件中-------\n");
}
//评分系统
test_compare(struct test *p,int n)
{
int i;
int temp=0;
int count=0;
if(n==0)
{
printf("目前题库中还没有题目,请载入题库后在进行操作\n");
return 0;
}
else
{

for(i=0;i<n;i++)
{

if(!strcmp(p[i].da,p[i].as))
{
count++;
}

}
printf("你答对的总题数是%d\n",count);
return n;
}
}
//例题以及答案
test_out(struct test *p,int n)
{
int i=0,j=0;
if(n==0)
{
printf("很抱歉,试题库中暂时没有任何试题!\n");
printf(" ===============转到主菜单==================\n");
}
else
while(i<n)
{
printf(" =============================================\n");
printf(" 题目:%s\n",p[i].tm);
for(j=0;j<4;j++)
{
printf(" 选项:%s\n",p[i].xx[j]);
}
printf(" 正确答案:%s\n",p[i].da);
printf(" =============================================\n");
i++;
}

}
//试题库载入
test_under(struct test *p)
{
int i;
FILE *fp;
char filename[20];
printf("请输入你要导入的文件名及路径:");
scanf("%s",filename);
if((fp=fopen(filename,"rb"))==NULL)
{
printf("文件打开失败!\n");
return 0;
}
i=0;
while(!feof(fp))
{
if(1!=fread(&p[i],sizeof(struct test),1,fp))
break;
i++;
}
fclose(fp);
printf("已经成功从文件%s导入数据!\n",filename);
return i;

}
//主函数
main()
{
int n=0;
struct test ts[100];
system("color 1f");
ncompare();
while(1)
{

switch(menu_list())
{
case 1: test_test(ts,n);break;
case 2: n=test_in(ts,n);break;
case 3: n=delete1(ts,n);break;
case 4: n=insert(ts,n);break;
case 5: save(ts,n);break;
case 6: test_compare(ts,n);break;
case 7: test_out(ts,n);break;
case 8: n=test_under(ts);break;
case 9: exit(0);
}

}
}

㈢ 用c语言编一简单在线考试系统

# include <stdio.h>

# include <stdlib.h>

struct student //定义了一个结构体类型
{
int age; //年龄
float score; //分数
char name[111] ;//名字
};
void h(int e,struct student * w)
{
int i;

for(i=0;i<e;i++)

{
printf("第%d个学生的信息\n",i+1);
printf("age=%d\n",w[i].age);

printf("name=%s\n",w[i].name);

printf("score=%f\n",w[i].score);

printf("\n");
}
}

void g(int q,struct student * o )
{

int j;
int k;
struct student t;
for(j=0;j<q;j++)
{
for(k=0;k<q-1-j;k++)
{
if(o[k].score > o[k+1].score)
{
t=o[k];

o[k]=o[k+1];

o[k+1]=t;

}
}
}
h(q,o);
}

void f(int r,struct student * m,int v)
{
int i;

for(i=0;i<r;i++)
{
printf("请输入%d班第%d个学生的信息\n",v,i+1);
printf("age=");
scanf("%d",&m[i].age);

printf("name=");
scanf("%s",m[i].name);

printf("score=");
scanf("%f",&m[i].score);
}
g(r,m);

}

void z(void)
{
struct student p;
int len;
int m;

printf("班级");
scanf("%d",&m);

printf("输入%d班学生个数\n",m);
scanf("%d",&len);
p=(struct student )malloc(sizeof(struct student)*len);
f(len,p,m);

}

int main(void)
{
z();
z();
z();

return 0;
}

㈣ c语言 程序考试报名管理系统

#include<stdio.h>
#include<stdlib.h>
#defineSTU_NUM10/*宏定义学生的数量*/
structstudent/*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/
{
charstu_id[20];/*学生学号;*/
floatscore[3];/*三门课成绩;*/
floattotal;/*总成绩;*/
floataver;/*平均成绩;*/
};
/*排序用一个函数来实现*/
voidSortScore(student*stu,intn)
{
studentstud;
for(inti=0;i<n-1;i++)
for(intj=i+1;j<n;j++)
{
if(stu[i].total<stu[j].total)
{
stud=stu[i];
stu[i]=stu[j];
stu[j]=stud;
}
}
}
intmain()
{
studentstu[STU_NUM];/*创建结构体数组中有10个元素,分别用来保存这10个人的相关信息。*/
/*输入这十个学生的相关信息*/
for(inti=0;i<STU_NUM;i++)
{
printf("请输入第%d个学生的学号:",i+1);
scanf("%s",&stu[i].stu_id);
printf("输入第%d个学生的数学成绩:",i+1);
scanf("%f",&stu[i].score[0]);
printf("输入第%d个学生的英语成绩:",i+1);
scanf("%f",&stu[i].score[1]);
printf("输入第%d个学生的计算机成绩:",i+1);
scanf("%f",&stu[i].score[2]);
stu[i].total=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
stu[i].aver=stu[i].total/3;
}
printf(" ");

SortScore(stu,STU_NUM);/*调用排序函数*/
/*输出排序后的各学生的成绩*/
for(i=0;i<STU_NUM;i++)
{
printf("序号:%d ",i);
printf("学号:%s ",stu[i].stu_id);
printf("数学:%f ",stu[i].score[0]);
printf("英语:%f ",stu[i].score[1]);
printf("计算机:%f ",stu[i].score[2]);
printf("平均成绩:%f ",stu[i].aver);
printf("总分:%f ",stu[i].total);
printf(" ");
}
return0;
}
注:(源程序中主要标识符含义说明)
#defineSTU_NUM10/*宏定义学生的数量*/
structstudent/*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/
{
charstu_id[20];/*学生学号;*/
floatscore[3];/*三门课成绩;*/
floattotal;/*总成绩;*/
floataver;/*平均成绩;*/
}

㈤ 基于C语言题库用C#实现的在线考试系统编程题评分


voidswap(inta,intb)
{
intnTemp=a;
a=b;
b=nTemp;
}

小手一抖,金币到手

㈥ 关于福建省计算机二级C语言考试模拟系统。

给你推荐个网站吧,叫做上学吧在线考试中心,里面有你需要的题库和大纲,还有在线测试系统,希望能帮助你,祝你好运。

㈦ 备战全国计算机二级C语言程序设计考试,有没有什么在线刷题的考试模拟仿真软件

在线刷题的考试模拟仿真软件

首先我们先看下软件展示图,后面是软件!

图:

1、全国计算机等级考试超级模拟软件。

汇聚了多年开发全国计算机等级考试模拟软件的丰富经验,并综合有经验的命题专家、教授和全国各地考点一线教师的建议基础上研制而成。本套软件采用模拟考试形式,以大量的习题练习,强化考生的应考能力。

2、捷成全国计算机等级考试练习系统。

上机考试系统提供了历届考试题100套,并附有试题分析和参考答案,可以帮助考生熟悉考试模式,提高应试能力,测试实际操作和应变能力,自己评定成绩,对正式考试时能否通过进行初步的估计。

3、未来教育2017二级msoffice模拟软件

以其模式的高专业度,题库权威度而闻名业界,它聚合历年真题加以分析从而提出权威预测,效果非常不错。

热点内容
华为手机更换开机密码如何操作 发布:2025-01-24 14:43:15 浏览:699
快手等待上传 发布:2025-01-24 14:41:37 浏览:380
apache和php7 发布:2025-01-24 14:32:26 浏览:892
linuxio文件 发布:2025-01-24 13:40:21 浏览:438
在excel设密码如何取消 发布:2025-01-24 13:38:54 浏览:483
电脑装存储时不能开机 发布:2025-01-24 13:38:52 浏览:285
2000人同时在线的小程序需要什么服务器 发布:2025-01-24 13:37:17 浏览:853
怎么搭建linux服务器配置 发布:2025-01-24 13:37:16 浏览:113
安卓版什么时候上线麻将模式 发布:2025-01-24 13:32:48 浏览:966
算法实验分析 发布:2025-01-24 13:20:25 浏览:137