C語言課程設計報告--單項選擇題標準化考試系統(tǒng)_第1頁
C語言課程設計報告--單項選擇題標準化考試系統(tǒng)_第2頁
C語言課程設計報告--單項選擇題標準化考試系統(tǒng)_第3頁
C語言課程設計報告--單項選擇題標準化考試系統(tǒng)_第4頁
C語言課程設計報告--單項選擇題標準化考試系統(tǒng)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、- C語言課程設計報告 學 院:_電氣與信息工程學院_ 專業(yè)班級: 計科-01班 學生姓名: 學 號: 設計地點(單位)_計算機基礎自主學習中心 _ _設計題目:_單項選擇題標準化考試系統(tǒng) _ 完成日期: 2013 年1月18日 指導教師評語: _ _ _ _ 成績(五級記分制):_ _ 指導教師(簽字):_ _ 課程設計任務書設計題目: 單項選擇題標準化考試系統(tǒng)學生姓名課程名稱C語言程序設計課程設計專業(yè)班級計科2012-02地 點計算機基礎自主學習中心起止時間2013.1.142013.1.18設計內(nèi)容及要求功能要求:(1) 用文件保存試題庫。(每個試題包括題干、4個備選答案、標準答案)(2

2、) 試題錄入:可隨時增加試題到試題庫中(3) 試題抽取:每次從試題庫中可以隨機抽出N道題(N由鍵盤輸入)(4) 答題:用戶可實現(xiàn)輸入自己的答案自動判卷:系統(tǒng)可根據(jù)用戶答案與標準答案的對比實現(xiàn)判卷并給出成績。設計參數(shù)(1)系統(tǒng)分析、設計正確。(2)結(jié)果以圖表方式顯示。(3)界面簡潔、美觀。(4)報告格式規(guī)范。進度要求1月14日第一大節(jié)、第二大節(jié) 講解課程設計任務1月14日第三大節(jié)、第四大節(jié) 閱讀課程設計指導書,選擇課題1月15日第一大節(jié)、第二大節(jié) 講解結(jié)構(gòu)體相關(guān)知識1月15日第三大節(jié)、第四大節(jié) 學生練習結(jié)構(gòu)體的使用1月16日第一大節(jié)、第二大節(jié) 程序編碼1月16日第三大節(jié)、第四大節(jié) 程序編碼1月1

3、7日第一大節(jié)、第二大節(jié) 程序編碼1月17日第三大節(jié)、第四大節(jié) 編寫課程設計報告1月18日第一大節(jié)、第二大節(jié) 課程設計答辯1月18日第三大節(jié)、第四大節(jié) 課程設計答辯參考資料1何欽銘 顏暉.語言程序設計.高等教育出版社.2008年2譚浩強 張基溫.語言程序設計教程.高等教育出版社.2006年其它說明.本表應在每次實施前一周由負責教師填寫二份,院系審批后交院系辦備案,一份由負責教師留用。.若填寫內(nèi)容較多可另紙附后。3.一題多名學生共用的,在設計內(nèi)容、參數(shù)、要求等方面應有所區(qū)別。 摘要此論文為單項選擇題標準化考試系統(tǒng)的模擬程序,需實現(xiàn)對于試題的錄入,抽取, 答辯, 評分及退出功能和在任意功能之間循環(huán)等

4、功能。本次所設計的程序為C語言設計,通過對于一系列函數(shù)的調(diào)用實現(xiàn)上述功能。該程序主要使用了定義結(jié)構(gòu)變量,指針,數(shù)組,函數(shù)的編輯與調(diào)用以及文件的輸入和輸出功能。通過定義結(jié)構(gòu)變量實現(xiàn)數(shù)據(jù)的錄入輸出,并結(jié)合數(shù)組進行程序的錄入輸出。本程序的設計思路為:首先進行主界面的控制選擇,通過主界面的選擇,運用嵌入式循環(huán),定義多種函數(shù)。每個函數(shù)控制一項功能,使得編寫有所分工,最后結(jié)合在主函數(shù)上。對于定義函數(shù),以方便使用為主要原則,盡量保證讀者能直截了當?shù)牧私獬绦虻恼w布局和作用。因此減少了許多以外的編輯麻煩。而不同于直接編輯,調(diào)用函數(shù)能夠使程序的編輯更加有序,修改上也比較容易。關(guān)鍵字:試題管理系統(tǒng)、數(shù)組、函數(shù)目錄

5、摘要41軟件需求分析說明書 61.1軟件功能 61.2特殊功能 62系統(tǒng)分析與設計 72.1軟件界面設計 72.2軟件的數(shù)據(jù)(結(jié)構(gòu))設計 72.3 軟件的算法設計 73軟件的實現(xiàn)84軟件測試 95軟件使用說明書 106致謝 14參考文獻 14第一章 軟件需求分析說明書1.1 軟件功能1.1.1試題錄入 本功能可以實現(xiàn)試題信息的錄入,通過屏幕的指示輸入用戶需要輸入的序號,題干,選項,答案等并且保存在文件中。使用本功能時,需要注意嚴格按照屏幕上的指示,否則將造成存儲失誤,影響使用,并且尤其需要注意輸入時不能有空格;1.1.2試題抽取本功能可以實現(xiàn)從試題庫中抽取任意試題數(shù),但不能超過題庫中的總數(shù),如

6、果超過系統(tǒng)會進行提示,從新抽取。1.1.3 答題通過本功能,用戶可以方便在電腦上進行選擇題,而且可以進行多項選擇題作答。1.1.4 評分本功能可以實現(xiàn)100分制評分,無論題數(shù)多少,滿分總是100分,答完后系統(tǒng)會給予評分輸出。1.1.5 退出功能本功能可以實現(xiàn)系統(tǒng)的退出。1.2 特殊功能本程序針對各種可能的操作情況做出了提示,100分制,可以進行多選題作答,可以隨時簡便的進行試題數(shù)的變更,可以在當前功能出跳至任意功能處。1.2.1 選擇時輸入失誤此時系統(tǒng)會提示重新輸入。1.2.2 文件不存在此時系統(tǒng)提示確認文件路徑并作出下一步指示。1.2.2分配失敗 、 此時系統(tǒng)會提示分配空間失敗。1.2.4

7、功能完成后提示 此時系統(tǒng)會提示做出下一步選擇(如繼續(xù)使用或者退出)。第二章 系統(tǒng)分析與設計2.2 軟件的數(shù)據(jù)(結(jié)構(gòu))設計 該軟件使用了switch結(jié)構(gòu),函數(shù)的創(chuàng)建與使用,定義結(jié)構(gòu)變量,指針,數(shù)組。2.3 軟件的算法設計 主界面錄入試題信息瀏覽題庫信息抽題作答評分 退出程序詳見算法1詳見算法2詳見算法3詳見算法4詳見算法5詳見算法6詳見算法7詳見算法8詳見算法9詳見算法10詳見算法11第三章 程序設計#include #include #include enum LEN = 16; /定義枚舉變量,實現(xiàn)試題數(shù)的改變/typedef struct test /定義一個結(jié)構(gòu)體并取名為stu,實現(xiàn)各個

8、信息的輸入/int ID;char question100;char choose100;char answer4;stu;void output1(FILE *fp, stu *p); void output2(FILE *fp, stu *p);void input(FILE *fp, stu *p);char *an(FILE *fp, stu *p);int gread(char *p1, char *p2);int main()double sum = 0; int N, n, a, i; char z4;stu *buf, d; FILE *pf;while(n != 4) pri

9、ntf(*歡迎進入試題庫系統(tǒng)*n);/ printf(功能:n);printf(1.試題錄入:n);printf(2.試題抽取和答題:n);printf(3.評分:n);printf(4.退出n);printf(n);printf(請選擇功能:n);scanf(%d, &n);printf(n);if(n = 1)a = 1;while(a != 0) printf(請輸入序號:n); scanf(%d, &d.ID); printf(請輸入題目:n); scanf(%s, d.question); fflush(stdin); printf(請輸入選項:n); scanf(%s, d.cho

10、ose); fflush(stdin); printf(請輸入答案:n); scanf(%s, d.answer); pf = fopen(a.txt, a); output1(pf, &d); printf(n); printf(是否繼續(xù)?(1代表繼續(xù),0代表退出)n); scanf(%d,&a); fclose(pf); printf(n);if(n = 2) FILE *pf = fopen(a.txt, r); if (!pf) printf(文件打開失敗n); return 0; buf = (stu *)malloc(LEN * sizeof(stu); n for (i = 0;

11、 i LEN) printf(對不起,您抽取的題數(shù)超出題庫的總數(shù),請從新抽取:n); else printf(n); srand(time(0); for (i = 0; i = 60)printf(恭喜你!及格了!n);if(sum ID), p-question, p-choose, p-answer);void output1(FILE *fp, stu *p)fprintf(fp, %d %s %s %sn, p-ID, p-question, p-choose, p-answer);void output2(FILE *fp, stu *p)fprintf(fp, %d %s %sn

12、, p-ID, p-question, p-choose);char *an(FILE *fp, stu *p)fprintf(fp, %stn, p-answer);return p-answer;int gread(char *p1, char *p2)int i, flag = 1;for(i = 0; i 4; i+)if(*p1 != *p2)flag = 0;break;return flag;第四章 軟件測試void output1(FILE *fp, stu *p) void output2(FILE *fp, stu *p)使用這兩個函數(shù),實現(xiàn)試題錄入:Stu d;界面上輸入:17, 2+5=? A3B4C7D2 D在文件中顯示:17, 2+5=? A3B4C7D2 D void input(FILE *fp, stu *p)char *an(FILE *fp, stu *p)int gread(char *p1, char *p2)使用這三個函數(shù),實現(xiàn)試題的抽取,作答,判斷及評分:在界面上:題數(shù):2 1 3+9=?

溫馨提示

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

最新文檔

評論

0/150

提交評論