freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

無紙化考試系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文(完整版)

2025-07-28 21:16上一頁面

下一頁面
  

【正文】 試服務(wù)器上,教師在服務(wù)器端發(fā)放試卷,試卷以獨立文件的形式傳回學生機,考試過程中所有考生的答案以獨立文件的形式暫存在本地機,等提交試卷后再傳回服務(wù)器,在網(wǎng)絡(luò)斷開時拷貝至服務(wù)。在計算機技術(shù)和網(wǎng)絡(luò)技術(shù)日益發(fā)展成熟,并逐步滲^到社會生活各個領(lǐng)域的今天,各行各業(yè)都發(fā)生了深刻的變革,計算機技術(shù)和網(wǎng)絡(luò)技術(shù)已經(jīng)被廣泛地用于各行各業(yè),學校也不例外,傳統(tǒng)的考試方式也面臨著重大的變革,而利用網(wǎng)絡(luò)考試系統(tǒng)進行考試則是一種先進的考試方式,它有很多傳統(tǒng)的考試方式所不具有的優(yōu)越性。這些題型涵蓋了大部分科目的考試題型,能滿足考試的科學性和合理性要求。現(xiàn)在,許多高校對于開發(fā)和應用網(wǎng)絡(luò)考試系統(tǒng)給予了極大的重視,許多學校都有相應的科研立項。MFC,微軟基礎(chǔ)類(Microsoft Foundation Classes),實際上是微軟提供的,用于在C++環(huán)境下編寫應用程序的一個框架和引擎,VC++是Windows下開發(fā)人員使用的專業(yè)C++ SDK(SDK,Standard Software Develop Kit,專業(yè)軟件開發(fā)平臺),MFC就是掛在它之上的一個輔助軟件開發(fā)包,MFC作為與VC++血肉相連的部分(注意C++和VC++的區(qū)別:C++是一種程序設(shè)計語言,是一種大家都承認的軟件編制的通用規(guī)范,而VC++只是一個編譯器,或者說是一種編譯器+源程序編輯器的IDE,WS,Platform,這跟Pascal和Delphi的關(guān)系一個道理,Pascal是Delphi的語言基礎(chǔ),Delphi使用Pascal規(guī)范來進行Win下應用程序的開發(fā)和編譯,卻不同于Basic語言和VB的關(guān)系,Basic語言在VB開發(fā)出來被應用的年代已經(jīng)成了Basic語言的新規(guī)范,VB新加的Basic語言要素,如面向?qū)ο蟪绦蛟O(shè)計的要素,是一種性質(zhì)上的飛躍,使VB既是一個IDE,又成長成一個新的程序設(shè)計語言),MFC同BC++集成的VCL一樣是一個非外掛式的軟件包,類庫,只不過MFC類是微軟為VC++專配的本系統(tǒng)。最后要指出的是MFC類庫在提供的對象的各種屬性和方法都是經(jīng)過謹慎的編寫和嚴格的測試,可靠性很高,這就保證了使用MFC類庫不會影響程序的可靠性和正確性。(2)ODBC管理器(Administrator)。是一些DLL,提供了ODBC和數(shù)據(jù)庫之間的接口。int nPort = 27。 3 系統(tǒng)的需求分析采用軟件工程的思想對考試系統(tǒng)進行需求分析,分析系統(tǒng)綜合要求和系統(tǒng)數(shù)據(jù)要求。對于網(wǎng)上考試系統(tǒng)來說,可擴展性、安全性、可管理性是幾個關(guān)鍵因素:(1)可管理性??蓴U展性是指系統(tǒng)能保證可持續(xù)增長以滿足用戶的需求和業(yè)務(wù)復雜性要求。系統(tǒng)要從安裝、配置和管理三個方面入手,對Windows2000 Server進行安全設(shè)計:(1)安裝:在安裝安全方面注意采用NTFS文件分區(qū)格式以及安裝微軟官方公布的最新Server Packs和補丁。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚鑣了。這種模式中,服務(wù)器存儲所有數(shù)據(jù)。充分利用現(xiàn)有的瀏覽器軟件,無需開發(fā)數(shù)據(jù)庫前端。為一個Web服務(wù)器書寫的HTML文檔,可以被所有平臺上的瀏覽器打開,實現(xiàn)了應用軟件的跨平臺操作,而且不需修改任何程序,缺點在于完全依賴網(wǎng)絡(luò),沒有網(wǎng)絡(luò)就無法工作,無法對考試時行實時監(jiān)控,可控性差,使用也很顯然容易造成試題泄漏,對重要考試顯然是不可取的。該子系統(tǒng)實現(xiàn)考生的網(wǎng)上考試過程,主要包括:(1)考生登錄:該子系統(tǒng)接受考生輸入的個人身份信息,進行驗證,允許合法考生進入考試系統(tǒng),進行考試;(2)計時答卷:服務(wù)器發(fā)送開始指令后,客戶端系統(tǒng)計時開始,考生進行答卷;(3)試卷提交:包括考生在規(guī)定時間內(nèi)主動提交試卷和考試時間己到,系統(tǒng)強迫提交試卷。僅用于客戶端。Microsoft SQL Server2000能提供超大型系統(tǒng)所需的數(shù)據(jù)庫服務(wù)。這樣,既隔開了每個客戶組織的數(shù)據(jù),同時又使服務(wù)組織只需管理一臺服務(wù)器計算機從而減少了費用??荚囅到y(tǒng)服務(wù)器客戶端考卷管理試卷向?qū)в脩艄芾砜荚囅到y(tǒng)閱卷系統(tǒng)答卷系統(tǒng)圖5系統(tǒng)總體結(jié)構(gòu)圖(1)登錄系統(tǒng)初始化→顯示登錄對話框→點擊登錄,查詢數(shù)據(jù)庫進行密碼匹配,若成功根據(jù)權(quán)限顯示主界面,失敗則顯示還有兩次重試機會。流程圖如圖7所示:圖7 試卷生成流程圖題型及數(shù)目確定了,程序內(nèi)部的指針指向的空間大小也就確定了,題目填充后的數(shù)據(jù)將被指針所指向的內(nèi)存中,在保存點擊后,所有數(shù)據(jù)存入文件。//文件頭指針 CSselect_subject2* m_pselect_subject。 // TODO: 在此添加額外的初始化 //單選 CString sz[6]={_T(5),_T(8),_T(10),_T(12),_T(15),_T(16)}。 for(int i=0。 i++) this(i,sz2[i])。 thism_judge_value = 1。 thisGetDlgItem(IDC_STATIC_SUBJECTWARN)SetWindowText(_T())。在線考試在窗體初始化時開啟了一個偵聽套接字,等待客戶端的連接。public: CListCtrl m_paperListCtrl。//存儲套接字對象,方便釋放內(nèi)存 mapCString,CMysocket*socketmap。 void displayItem()。 this(0,_T(試卷編號),LVCFMT_LEFT,width/5,1)。//這里動態(tài)分配了一個套接字 m_psocketm_pControlDlg = this。 UINT port。}這樣,只要客戶端來連接都會在被接受,套接字信息被存儲到map中,直至達到連接上限,只要有一個客戶端連接上來,服務(wù)器端的發(fā)送按鈕就成為可用狀態(tài),那么試卷如何發(fā)送呢,首先發(fā)送的其實是試卷的名稱,再接受和發(fā)送的過程中服務(wù)器端和客戶端會改變自己的狀態(tài),這樣做的目的就是讓套接字知道自己現(xiàn)在接受到的是什么數(shù)據(jù)應該如何處理,下面看看服務(wù)器端發(fā)送試卷的函數(shù):void CMysocket::sendfile(CString filename){ CString fullfilename。 thisSend((void*)(0),len*2)。 }}關(guān)于狀態(tài)其實是幾個宏定義:define CONNECTION_SUCCEED 0define NAME_GETED 1define FILESEND_BEGIN 2define FILESEND_END 3再看看客戶端接受數(shù)據(jù)的函數(shù):void CExamClientDlg::OnReceive(void){ TCHAR Buffer[256]。 (IDS_RECEIVE_PAPERS)。 (IDS_RECEIVE_PAPERS)。 GetDlgItem(IDC_BUTTON2)EnableWindow(TRUE)。(1)試卷的存儲采用文件存儲,每個文件首先一個結(jié)構(gòu)說明了整個文件的內(nèi)容,該結(jié)構(gòu)說明如下:Struct filehead{ int standard_score。 int judge_num。 CString matchcode。//題目 CString szCSTR[5]。//題目 CString str_ans。 }}調(diào)用方法:CFile file。用戶管理是管理員的權(quán)限之一,用于新建,刪除,修改老師及學生用戶,分為注冊和注銷兩部分,注冊部分填寫詳細資料,保證作為主關(guān)鍵字的部分不重復,出錯時提示出錯的部分,為了界面的友好,本系統(tǒng)采用紅色字體來提示錯誤而不是彈出會讓人討厭的對話框。 (1)。 this(2,_T(填空題分數(shù)),LVCFMT_LEFT,width/6,1)。g_db)。 (CRecordset::dynamic,strSQL)。 (_T(%d),)。 index++。 CString keyword。 } long xuehao = 。 (_T(%d),)。 (index,2,fillblanks)。 } catch(CDBException* e) { MessageBox(em_strError)。(3)相關(guān)結(jié)構(gòu)設(shè)計如下:①文件頭typedef struct ans_files{ int ans_collected_num。 //答案}④判斷題typedef Struct judge_subject{ DWORD ans。if(m_pfile != NULL) delete m_pfile。if(num 100){ Buffer[num] = 39。圖12 題目輸入點擊“單選題第1題”,在“題目”下方空白部分輸入題目內(nèi)容,然后在“選項及答案”下各項輸入相應的答案。圖17學生登錄學生輸入姓名、學號和服務(wù)器IP后,點擊“確定”按鈕,登陸后進入下一界面。相關(guān)代碼如下:注冊代碼:void CManageDlg::OnBnClickedBnRegister(){ // TODO: 注冊新用戶 //不考慮數(shù)據(jù)為空,不考慮插入失敗 CString strno,strname,strinfo,strpass,strage。 this(strinfo)。 CSETteacher_info tea_set(amp。 (_T(%d),num)。 ()。 this(_T())。 this(_T())。 } } catch(CDBException* e) { CString warmessage = em_strError+_T(,請更改教師號再重試!)。 ()。 (_T(select * from teacher_info))。 if(0 == sex) sex=1。 int result=1。如圖18所示。點擊“下一步”后彈出一個對話框,選擇“確定”,出現(xiàn)如圖13所示界面。 this(Buffer,num)。m_pfileSeekToBegin()。//題目,讓閱卷者能看到題目 CString str_ans。//應當收集到的答卷總數(shù) CString matchcode。 }}成績查詢流程圖如圖9所示 圖9成績查詢流程圖本系統(tǒng)在成績查詢功能上的設(shè)置相對簡陋,但由于每次考試的成績都被錄入了數(shù)據(jù)庫,要對這些數(shù)據(jù)進行復雜的分類和統(tǒng)計也是容易實現(xiàn)的,首先需要增加一些查詢條件,如果數(shù)據(jù)庫內(nèi)部使用的是存儲過程,直接更改存儲過程或新增加一些存儲過程,然后在程序中調(diào)用即可。 (index,4,subjects)。 (_T(%d),)。g_db)。 (_T(select * from stu_info where stu_name = 39。 } ()。 (index,0,stuno)。 while(!()) { CString stuno,selects,fillblanks,judges,subjects,all。 (_T(select * from stu_info where classno = %d),index)。 this(4,_T(主觀題分數(shù)),LVCFMT_LEFT,width/6,1)。 this(amp。用戶管理流程圖如圖8所示:圖8用戶管理流程圖成績查詢在本系統(tǒng)中只提供給服務(wù)器端使用,這意味著只能是老師和管理來查詢。if((123,CFile::modeCreate|CFile::modeWrite)){ CArchive ar(amp。//本題分值} 判斷和主觀題,個數(shù)在頭結(jié)構(gòu)中有說明。//幾個空,當然也是答案的個數(shù) int score。//題目 CString szCSTR[5]。 int subjective_num。//題型數(shù) int single_select_num。要開始答題,首先是要把試卷顯示出來,還記得前面提到的動態(tài)鏈接庫嗎,它將在此再次被使用:void CExamClientDlg::OnBnClickedButton2(){ // TODO: 在此添加控件通知處理程序代碼 if(IsWindow(this)) (SW_SHOW)。 fullfilename += m_filename。 fullfilename += m_filename。 if(() == CONNECTED_SUCCEED)//狀態(tài)是剛剛連接成功時 { (FILENAME_GETED)。//從文件中每次讀取255個字節(jié) thisSend(sz,num)。 fullfilename += _T(\\)。 m_psocketsetstate(CONNECTION_SUCCEED)。//開始偵聽了 return TRUE。 this(2,_T(命題教師),LVCFMT_LEFT,width/5,1)。再看他的初始化函數(shù):BOOL CstartexamDlg::OnInitDialog(){ CDialog::OnInitDialog()。//name and ippublic: void AddToMap(CString name,CString ip)。//指向和客戶連接的套接字指針數(shù)組 CMysoc
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1