C語言課程設(shè)計(jì)報(bào)告單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)_第1頁
C語言課程設(shè)計(jì)報(bào)告單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)_第2頁
C語言課程設(shè)計(jì)報(bào)告單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)_第3頁
C語言課程設(shè)計(jì)報(bào)告單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)_第4頁
C語言課程設(shè)計(jì)報(bào)告單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

-.z仲愷農(nóng)業(yè)工程學(xué)院課程設(shè)計(jì)報(bào)告單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)課程名稱C語言程序設(shè)計(jì)姓名院〔系〕信息科學(xué)與技術(shù)學(xué)院專業(yè)班級學(xué)號指導(dǎo)教師目錄1目的插入試題模塊:確定插入題目數(shù),選擇需要插入的題目類型,翻開文件,插入題目,關(guān)閉文件.刪除試題模塊:確定刪除題號,選擇需要刪除的題目類型,讀出文件,刪除題目,并創(chuàng)立一個(gè)新的文件覆蓋原文件,把剩下的試題讀入文件.3系統(tǒng)設(shè)計(jì)3.1主要構(gòu)造體題目,選項(xiàng)A,B,C,D,答案structTest{ charquestion[200];charoption1[100]; charoption2[100]; charoption3[100]; charoption4[100];charkey;}3.2主要功能函數(shù)intaddtest()//增加試題voidanswerq()//答題voidchangeface()//選擇試題類型界面intchangeopenfile()//選擇翻開文件intpare(chara,charb)//答案對照voidreadfile(inti,Testp)//顯示題目voidshowtest(intn,intm)//展示題目或刪除構(gòu)造體元素voidstartinterface()//開場界面

4系統(tǒng)調(diào)試(1)操作界面(2)選擇界面:(3)答題:(4)插入試題:(5)顯示題庫試題(6)刪除題目:(7)退出系統(tǒng)總結(jié)經(jīng)過這兩個(gè)星期的C語言課程設(shè)計(jì)的訓(xùn)練,我學(xué)到了很多,最主要的一點(diǎn)是怎樣去自學(xué)一種東西,怎樣去找到你所需要的資料,并在短時(shí)間把它學(xué)會,運(yùn)用到你所需要的方面。這個(gè)過程是很困難的,要花費(fèi)很多的時(shí)間和精力,但是,在事情過后,自己就會發(fā)現(xiàn)自己已經(jīng)在這個(gè)過程中學(xué)到了自己想要的東西,這種獲得是更深刻的。在做這個(gè)C語言課程設(shè)計(jì)的時(shí)候,我原先也是知之甚少,什么是構(gòu)造體數(shù)據(jù),什么是定義類型,怎樣在一個(gè)main函數(shù)中調(diào)用別的定義函數(shù),等等,可以說是一無所知。然而,在這門課程設(shè)計(jì)中,這些方面卻是特別重要的,可以說,掌握了這個(gè),你就完全可以完成自己的任務(wù)。這就要求我們要自己去學(xué),自己去探索。當(dāng)然,跑圖書館是必不可少的,還有,身邊有非常豐富的網(wǎng)絡(luò)資源給我們好好利用,百度就是個(gè)很不錯的地方。這樣就從另一方面鍛煉了我們檢索知識獲取信息的能力,在這個(gè)過程中,可以學(xué)到的是一種提升自我的能力。當(dāng)然,由于個(gè)人能力所限,這份課程設(shè)計(jì)有一些別的方面還是要參考人家的的資料,在讀懂別人材料的同時(shí),自己取人所長,補(bǔ)己之短,經(jīng)過屢次的調(diào)試,總結(jié),最后交出一份自己比擬滿意的答卷。通過這次的課程設(shè)計(jì),讓我進(jìn)一步的了解到C語言在我們?nèi)粘I钪械闹匾裕?,也更進(jìn)一步的激發(fā)了我學(xué)習(xí)這門語言的興趣.經(jīng)過這次的訓(xùn)練,我相信自己以后會用更多的時(shí)間來把這門語言學(xué)好,掌握好這門必修的根底語言。源程序清單*include<stdio.h>*include<stdlib.h>*include<time.h>*include<conio.h>*defineMA*50typedefstructTest{charquestion[200];charoption1[100];charoption2[100];charoption3[100];charoption4[100];charkey;}Test;FILE*fp;voidchangeface()//選擇試題類型界面{printf("\n\n\n\n\n");printf("\t\t\n");printf("\t\t|選擇試題類型|\n");printf("\t\t||\n");printf("\t\t|1.數(shù)據(jù)構(gòu)造|\n");printf("\t\t||\n");printf("\t\t|2.c/c++|\n");printf("\t\t||\n");printf("\t\t\n");}intaddtest()//增加試題{inti,num;Testtitle[MA*]={"\0"};FILE*fp;changeface();do{scanf("%d",&i);fflush(stdin);switch(i){case1:fp=fopen("questionbank1.t*t","a+");break;case2:fp=fopen("questionbank2.t*t","a+");break;default:printf("你輸入的指令不正確,請重新輸入\n");}}while(i!=1&&i!=2);system("cls");while(1){printf("請輸入要插入的題目數(shù)(<=50)\n");scanf("%d",&num);fflush(stdin);if(num<=MA*&&num>0)break;elseprintf("輸入有誤,請重新輸入題目數(shù)\n");}for(i=0;i<num;i++){printf("請輸入第%d道題題目,選項(xiàng)和答案:\n",i+1);//輸入構(gòu)造體元素容printf("請輸入題目\n");gets(title[i].question);printf("請輸入選項(xiàng)A:");gets(title[i].option1);printf("\n請輸入選項(xiàng)B:");gets(title[i].option2);printf("\n請輸入選項(xiàng)C:");gets(title[i].option3);printf("\n請輸入選項(xiàng)D:");gets(title[i].option4);fflush(stdin);printf("\n請輸入答案:\n");scanf("%1c",&title[i].key);fflush(stdin);system("cls");}for(i=0;i<num;i++){printf("%d.%s\n%s\t%s\t",i+1,title[i].question,title[i].option1,title[i].option2);printf("%s\t%s\n答案:%c\n",title[i].option3,title[i].option4,title[i].key);}if(fp==NULL)return0;else{for(i=0;i<num;i++)fprintf(fp,"%s\t%c\n%s\t%s\t%s\t%s\n",title[i].question,title[i].key,title[i].option1,title[i].option2,title[i].option3,title[i].option4);fclose(fp);}return1;}voidstartinterface()//開場界面{printf("\n\n\n\n\n");printf("\t\t\n");printf("\t\t|單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)|\n");printf("\t\t||\n");printf("\t\t|1.答題|\n");printf("\t\t||\n");printf("\t\t|2.試題插入|\n");printf("\t\t||\n");printf("\t\t|3.顯示題庫題目|\n");printf("\t\t||\n");printf("\t\t|4.刪除試題|\n");printf("\t\t||\n");printf("\t\t|5.退出系統(tǒng)|\n");printf("\t\t\n");}intchangeopenfile()//選擇翻開文件{inti;do{scanf("%d",&i);fflush(stdin);switch(i){case1:fp=fopen("questionbank1.t*t","r+");break;case2:fp=fopen("questionbank2.t*t","r+");printf("rrrrrrrrr\n");break;default:printf("你輸入的指令不正確,請重新輸入\n");}}while(i!=1&&i!=2);system("cls");returni;}intpare(chara,charb)//答案對照{(diào)if(a==b||(a-32)==b){printf("答對了\n");return1;}else{printf("答錯了\n正確答案是%c\n",b);return0;}}voidreadfile(inti,Testp)//顯示題目{printf("%d.%s\n",i+1,p.question);printf("A.%s\t",p.option1);printf("B.%s\n",p.option2);printf("C.%s\t",p.option3);printf("D.%s\n",p.option4);}voidanswerq()//答題{Testtitle[MA*];intn,i,j,k,num[MA*],score,sum=0;charh;if(fp==NULL){printf("\n不能翻開questionbank.dat文件,按任何鍵退出程序!\n");getch();e*it(-1);}for(j=0;!feof(fp);j++)//統(tǒng)計(jì)文件中的構(gòu)造體項(xiàng)數(shù){fscanf(fp,"%s\t%c\n%s\t%s\t%s\t%s\n",&title[j].question,&title[j].key,&title[j].option1,&title[j].option2,&title[j].option3,&title[j].option4);}fclose(fp);while(1){printf("請輸入需要答題的題目數(shù)\n");scanf("%d",&n);//n必須小于jfflush(stdin);if(n>j)printf("輸入的題目數(shù)大于題庫的題目數(shù),請重新輸入\n");elsebreak;}for(i=0;i<n;i++)//產(chǎn)生n個(gè)不同的隨機(jī)數(shù){srand(time(NULL));num[i]=rand()%j;while(1){for(k=0;k<i;k++)//排除一樣隨機(jī)數(shù)if(num[k]==num[i])break;if(k==i)break;num[i]=rand()%j;}readfile(i,title[num[i]]);printf("輸入答案:");scanf("%c",&h);fflush(stdin);score=pare(h,title[num[i]].key);sum+=score;}printf("答對%d題\n",sum);printf("按任意鍵返回主界面\n");getch();}voidshowtest(intn,intm)//展示題目或刪除構(gòu)造體元素{inti,j,k;Testtitle[MA*];if(fp==NULL){printf("\n不能翻開questionbank.dat文件,按任何鍵退出程序!\n");getch();e*it(-1);}for(j=0;!feof(fp);j++)//統(tǒng)計(jì)文件中的構(gòu)造體項(xiàng)數(shù){fscanf(fp,"%s\t%c\n%s\t%s\t%s\t%s\n",&title[j].question,&title[j].key,&title[j].option1,&title[j].option2,&title[j].option3,&title[j].option4);}fclose(fp);for(i=0;i<j;i++)readfile(i,title[i]);if(n==1){printf("按任意鍵返回主界面\n");getch();system("cls");}else{printf("輸入需要刪除的題號:\n");scanf("%d",&k);switch(m){case1:fp=fopen("questionbank1.t*t","w+");break;case2:fp=fopen("questionbank2.t*t","w+");break;}for(i=0;i<j;i++){if(k-1==i)continue;fprintf(fp,"%s\t%c\n%s\t%s\t%s\t%s\n",title[i].question,title[i].key,title[i].option1,title[i].option2,title[i].option3,title[i].option4);}fclose

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論