當前位置:首頁 » 編程語言 » 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模擬軟體

以其模式的高專業度,題庫權威度而聞名業界,它聚合歷年真題加以分析從而提出權威預測,效果非常不錯。

熱點內容
pspfifa無緩存 發布:2025-01-24 16:45:13 瀏覽:164
androidhandler機制 發布:2025-01-24 16:41:10 瀏覽:935
安卓系統如何下載aov 發布:2025-01-24 16:29:53 瀏覽:572
iptables允許ip訪問 發布:2025-01-24 16:19:58 瀏覽:931
安卓80如何識別存儲卡許可權 發布:2025-01-24 16:19:54 瀏覽:231
存儲介質價格 發布:2025-01-24 16:19:18 瀏覽:150
刪除多個表sql 發布:2025-01-24 16:10:57 瀏覽:595
安卓設備版本哪裡看 發布:2025-01-24 16:06:00 瀏覽:549
編譯錯誤參數不可選 發布:2025-01-24 16:00:51 瀏覽:289
倉儲軟體用什麼伺服器 發布:2025-01-24 16:00:03 瀏覽:626