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

正文內(nèi)容

c語(yǔ)言源程序的自動(dòng)評(píng)判畢業(yè)設(shè)計(jì)論文-免費(fèi)閱讀

  

【正文】 實(shí)現(xiàn)代碼如下所示:class CColorLine : public CLine{public: void Draw(long color)。 CLine m_LineLeft。pLineDraw()。 m_nY1=y1。{ // 下面調(diào)用CLine() CLine MyLine。 m_nY1=y1。 很抱歉,又跑題了。// 將最后一個(gè)元素設(shè)置為99pNumbers[99]=99。// 下面調(diào)用CLine(int x1, int y1, int x2, int y2)CLine MyLine(0,0,10,10)。一些代碼將它初始化為缺省設(shè)置,另外一些代碼復(fù)制坐標(biāo)。在創(chuàng)建新CLine類的時(shí)候調(diào)用這些函數(shù)。看到fData這樣的名字,就會(huì)想到它是一個(gè)浮點(diǎn)值。 // 繪制直線 void Draw()。在.h文件中,定義類如下: class CLine{ int m_nX1。 //等等 }}以上就是Windows的大致工作過(guò)程。Windows傳遞如下所示消息: PostMessage(your_HWND, WM_PAINT, 0,0)。當(dāng)不再使用它們時(shí),應(yīng)當(dāng)銷(xiāo)毀它們。 下面再談?wù)劸浔?handle)。先讓我們了解一下Wimdows是如何工作的。今后將不斷完善系統(tǒng)的功能,爭(zhēng)取達(dá)到更加準(zhǔn)確的評(píng)判C源程序文件,給出更細(xì)致的評(píng)判結(jié)果。第四,提高了自己攥寫(xiě)論文的能力,系統(tǒng)開(kāi)發(fā)出來(lái),還要能夠說(shuō)明自己開(kāi)發(fā)的整個(gè)過(guò)程,從接到任務(wù)到完成任務(wù)。第一就是Addin的開(kāi)發(fā)方式,這是之前完全沒(méi)有接觸過(guò)的一個(gè)方式,不同于一般的對(duì)話框方式。圖47 評(píng)判結(jié)果經(jīng)過(guò)檢查,評(píng)判的結(jié)果與預(yù)先設(shè)置的文件質(zhì)量相同,能夠區(qū)分出編譯鏈接錯(cuò)誤,運(yùn)行錯(cuò)誤和運(yùn)行正確。再點(diǎn)擊“運(yùn)行正確程序”,在正確輸出編輯框得到正確的數(shù)據(jù)輸出。4.2 運(yùn)行界面 準(zhǔn)備系統(tǒng)運(yùn)行由于系統(tǒng)采用了Visual C++的AddIn方式,所以在開(kāi)始使用系統(tǒng)前,需要加載程序開(kāi)發(fā)編譯鏈接后生成的DLL文件。 }//如果進(jìn)程沒(méi)有自動(dòng)終止,4秒鐘后自動(dòng)關(guān)閉,并給出評(píng)判結(jié)果 */ }最后給出消息提示框,提示評(píng)判結(jié)束,點(diǎn)擊確認(rèn)后退出,代碼如下:MessageBox(運(yùn)行結(jié)束,請(qǐng)查看結(jié)果)。} else {CString errorfile=D:\\test\\oute\\+filetitle+運(yùn)行錯(cuò)誤60+.txt。 oute += buffer。 //輸入框輸入數(shù)據(jù),類型為CStringchar szInPut[20]。UpdateData(TRUE)。 GetStartupInfo(amp。 = TRUE。 = NULL。//獲取文件標(biāo)題,文件名去掉后綴,即得到學(xué)號(hào)信息(2). 通過(guò) CreateProcess()函數(shù)來(lái)新建一個(gè)進(jìn)程運(yùn)行目標(biāo)程序,運(yùn)行結(jié)束后自動(dòng)關(guān)閉進(jìn)程。4. “OK”按鈕:在將C源程序文件編譯鏈接正確后生成的所有目標(biāo)程序加入列表控件后,取得列表控件項(xiàng)目總數(shù),以此設(shè)置循環(huán),每次循環(huán)中進(jìn)行對(duì)一個(gè)目標(biāo)程序進(jìn)行如下操作:(1). 首先從對(duì)應(yīng)目標(biāo)程序的絕對(duì)路徑中取得文件名去掉后綴后的標(biāo)題,即學(xué)號(hào)信息,作為之后給出評(píng)判結(jié)果時(shí)使用。其代碼如下:CFileDialog Dlg(TRUE,*.exe,NULL,OFN_FILEMUSTEXIST|OFN_ALLOWMULTISELECT,可執(zhí)行文件(*.exe)|*.exe|,NULL)。 m_outEdit += buffer。 //輸入框輸入數(shù)據(jù),類型為CStringchar szInPut[20]。UpdateData(TRUE)。 GetStartupInfo(amp。 = TRUE。 = NULL。 GetDlgItem(IDC_run_BUTTON)EnableWindow(true)。這就首先需要在工作空間,右擊Auto Classes添加一個(gè)對(duì)話框類run,即添加運(yùn)行/評(píng)判對(duì)話框。CString file=D:\\test\\。4. 每次循環(huán)中,編譯鏈接結(jié)束后,關(guān)閉工作空間,在空白工程test文件夾中的Debug下,則視為編譯鏈接正確,并改名為以學(xué)號(hào)命名的exe文件,作為此C源程序文件編譯鏈接成功生成的目標(biāo)程序。bszStr))。 j lNumConfigs+1 。CComQIPtrIBuildProject,amp。lCount))。 VERIFY_OK(pDocumentsOpen(bszWorkspacePathName, OleVariant, OleVariant, amp。//拷貝并改名C文件至空白工程CComBSTR bszWorkspacePathName = D:\\test\\。(1). 取得項(xiàng)目總數(shù),并以此設(shè)置循環(huán)的代碼如下:int nNumWorkspaces=AfxGetApp()GetProfileInt(Configure,count,0)。\\39。建立此函數(shù)的過(guò)程是:右擊CCommands類下的ICommands,選擇Add Method,然后方法名稱為build,即建立了一個(gè)build()函數(shù),此時(shí)函數(shù)代碼為空,不實(shí)現(xiàn)功能。 i () 。}(5). 完整的“添加文件”按鈕代碼如下:{ CFileDialog Dlg(TRUE,*.c,NULL,OFN_FILEMUSTEXIST|OFN_ALLOWMULTISELECT,C文件(*.c)|*.c|,NULL)。 (0, , 0)。//設(shè)置“添加文件”按鈕禁用,點(diǎn)擊“初始化”后啟用GetDlgItem(IDOK)EnableWindow(true)。 }(2). 完整的“初始化”按鈕代碼如下:{CString StrDestFile=D:\\test\\。 bFound = (sPath + \\*.*)。 if(()) { if(!()) DeleteFolder(sFilePath)。編輯此對(duì)話框,添加“初始化”、“添加文件”按鈕和一個(gè)列表控件,保留默認(rèn)的“OK”、“Cancle”按鈕。在此空白工程文件夾test中,新建一個(gè)文件夾result用于保存編譯鏈接成功后生成的以學(xué)號(hào)命名的目標(biāo)程序,新建一個(gè)文件夾oute用于存放最后的評(píng)判信息。一個(gè)問(wèn)題是需要考慮到這里運(yùn)行的是學(xué)生的程序而不是老師的正確程序,所以可能出現(xiàn)運(yùn)行異常、死循環(huán)的進(jìn)程不結(jié)束的問(wèn)題,那么就會(huì)出現(xiàn)死機(jī)的情況,主程序運(yùn)行不下去,所以這里需要設(shè)置進(jìn)程運(yùn)行超時(shí)的處理。每個(gè)項(xiàng)目中同樣也是放的目標(biāo)程序的絕對(duì)路徑(包括文件名),因?yàn)橹笫褂煤瘮?shù)運(yùn)行程序是需要使用程序的絕對(duì)路徑。因?yàn)檫@里是老師輸入正確程序的正確數(shù)據(jù)輸入,所以老師會(huì)確保輸入數(shù)據(jù)的正確性。編譯鏈接結(jié)束后,則視為編譯鏈接成功,且此時(shí)需要將此文件轉(zhuǎn)移出來(lái),因?yàn)槿绮晦D(zhuǎn)移。通過(guò)Addin的接口,在Visual C++工作空間打開(kāi)空白工程文件,此時(shí)它已經(jīng)成為C源程序文件的工程文件,進(jìn)行編譯鏈接。因?yàn)樵贏ddin方式下,對(duì)話框類和Addin類之間的數(shù)據(jù)傳遞比較特殊,所以采用將列表控件中的相關(guān)信息存至注冊(cè)表的方式,以便今后在編譯鏈接時(shí)調(diào)用。在系統(tǒng)運(yùn)行選擇C源程序文之前,需要對(duì)相關(guān)文件夾和文件進(jìn)行處理,有刪除文件夾、清空文件夾、刪除文件。10. 對(duì)于目標(biāo)程序運(yùn)行時(shí)可能出現(xiàn)的種種異常情況,例如死循環(huán)等,通過(guò)設(shè)定一個(gè)時(shí)間,超出這個(gè)時(shí)間后進(jìn)程強(qiáng)制結(jié)束來(lái)處理,進(jìn)程強(qiáng)制結(jié)束后主循環(huán)繼續(xù),同時(shí)判定為運(yùn)行時(shí)錯(cuò)誤。在這里要設(shè)置循環(huán),對(duì)列表框中的每一個(gè)C源程序都進(jìn)行編譯鏈接。4. 系統(tǒng)提取運(yùn)行目標(biāo)程序(exe)得到的輸出數(shù)據(jù)。7. 對(duì)于運(yùn)行目標(biāo)程序時(shí)異常情況的處理。4. 程序輸出與標(biāo)準(zhǔn)輸出比較。Visual C++ AddIn基本上就是實(shí)現(xiàn)了IDSAddIn接口的COM對(duì)象。 第2章 概要設(shè)計(jì)2.1 方案設(shè)計(jì)本課題的任務(wù)是完成一個(gè)C源程序的自動(dòng)評(píng)判系統(tǒng)。1978年以后,C語(yǔ)言已先后移植到大、中、小、微型機(jī)上,已獨(dú)立于UNIX和PDP了。1972年至 1973年間,貝爾實(shí)驗(yàn)室的 (取 BCPL的第二個(gè)字母)。于是,C語(yǔ)言就在這種情況下應(yīng)運(yùn)而生了。當(dāng)前,采用計(jì)算機(jī)對(duì)源程序直接進(jìn)行評(píng)判還不是很普遍。蘇州科技學(xué)院畢業(yè)論文目 錄第1章 引言 11.1 背景介紹 1 研究背景簡(jiǎn)介 1 C語(yǔ)言簡(jiǎn)介 1第2章 概要設(shè)計(jì) 32.1 方案設(shè)計(jì) 3 開(kāi)發(fā)環(huán)境 3 工作方式 3 系統(tǒng)目標(biāo) 32.2 系統(tǒng)功能 32.3 需要解決問(wèn)題 42.4 系統(tǒng)流程 4 基本流程 4 具體實(shí)現(xiàn) 5第3章 詳細(xì)設(shè)計(jì) 73.1 系統(tǒng)模塊化分 7 添加文件對(duì)話框 7 編譯鏈接函數(shù) 8 運(yùn)行/評(píng)判對(duì)話框 93.2 系統(tǒng)模塊具體實(shí)現(xiàn) 10 準(zhǔn)備工作 10 實(shí)現(xiàn)添加文件對(duì)話框 11 實(shí)現(xiàn)編譯鏈接函數(shù) 15 實(shí)現(xiàn)運(yùn)行/評(píng)判對(duì)話框 19第4章 測(cè)試 264.1 測(cè)試方案 264.2 運(yùn)行界面 26 準(zhǔn)備系統(tǒng)運(yùn)行 26 系統(tǒng)測(cè)試 27結(jié)論 30致謝 32參考文獻(xiàn) 33附錄A 外文參考文獻(xiàn)(譯文) 34附錄B 外文參考文獻(xiàn)(原文) 4867第1章 引言1.1 背景介紹 研究背景簡(jiǎn)介C語(yǔ)言是目前國(guó)際上廣泛流行的、重要的計(jì)算機(jī)高級(jí)語(yǔ)言之一。因此,有必要開(kāi)發(fā)一套簡(jiǎn)單易用的C語(yǔ)言源程序的自動(dòng)評(píng)判系統(tǒng),幫助老師檢查學(xué)生的編程作業(yè),提高老師工作效率,減輕老師負(fù)擔(dān)。 C語(yǔ)言是在B語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,它的根源可以追溯到ALGOL 60。最初的C語(yǔ)言只是為描述和實(shí)現(xiàn)UNIX操作系統(tǒng)提供一種工作語(yǔ)言而設(shè)計(jì)的。現(xiàn)在C語(yǔ)言已風(fēng)靡全世界,成為世界上應(yīng)用最廣泛的幾種計(jì)算機(jī)語(yǔ)言之一。首先需要解決的問(wèn)題是確定整個(gè)系統(tǒng)的開(kāi)發(fā)環(huán)境和工作方式,然后是確定系統(tǒng)所要達(dá)到的目標(biāo),接著分析系統(tǒng)所應(yīng)完成的功能以及可能遇到的問(wèn)題,最后給出具體實(shí)現(xiàn)的步驟。通過(guò)這個(gè)接口,Addin能夠掌管Visual C++環(huán)境,并且執(zhí)行特定的任務(wù),例如在Visual C++環(huán)境下打開(kāi)工作空間,編譯工程等等。5. 根據(jù)比較結(jié)果得到評(píng)判結(jié)果。8. 采用何種方式比較輸出結(jié)果和正確答案,以及如何存儲(chǔ)比較結(jié)果。5. 系統(tǒng)將輸出數(shù)據(jù)與正確答案進(jìn)行比較。5. 循環(huán)過(guò)程中,編譯鏈接后生成目標(biāo)程序的C源程序,從空白工程文件的Debug文件夾中復(fù)制其目標(biāo)程序到暫存的文件夾,并用其學(xué)號(hào)來(lái)命名生成的目標(biāo)程序。11. 在開(kāi)始循環(huán)運(yùn)行所有目標(biāo)程序之前,需要老師首先運(yùn)行此題目正確程序生成的應(yīng)用程序,并且輸入運(yùn)行數(shù)據(jù)(如無(wú)需數(shù)據(jù)輸入則省略此步驟),得到正確的輸出數(shù)據(jù),存入一個(gè)編輯框。而在Visual C++中是不能直接刪除非空的文件夾的,也沒(méi)有清空文件夾的函數(shù),文件是可以通過(guò)庫(kù)函數(shù)DeleteFile()直接刪除的。3. 確認(rèn):新建對(duì)話框時(shí),默認(rèn)的代碼,無(wú)實(shí)際功能。編譯鏈接完成之后如果在空白工程文件的Debug文件夾中找到生成的目標(biāo)程序,則以此C源程序文件中的學(xué)號(hào)信息來(lái)命名此目標(biāo)程序(即,)并且將改名后的目標(biāo)程序復(fù)制到暫存所有生成的目標(biāo)程序的文件夾中,以備運(yùn)行時(shí)使用。此函數(shù)的數(shù)據(jù)輸入是:列表控件中的項(xiàng)目總數(shù)和列表控件每個(gè)項(xiàng)目中C源程序文件的絕對(duì)路徑。而如果不需輸入數(shù)據(jù)即可得到輸出數(shù)據(jù)的話就不用輸入數(shù)據(jù)即可。3. 運(yùn)行目標(biāo)文件、進(jìn)行評(píng)判:完成選取所有目標(biāo)程序后,以列表控件的項(xiàng)目總數(shù)即目標(biāo)程序總數(shù)設(shè)置循環(huán)。因?yàn)槭墙虒W(xué)中的C源程序文件作業(yè),相對(duì)較為簡(jiǎn)單,所以設(shè)置運(yùn)行時(shí)間為4秒,如果進(jìn)程運(yùn)行超時(shí)還沒(méi)有自動(dòng)結(jié)束,則強(qiáng)制結(jié)束,判為運(yùn)行時(shí)錯(cuò)誤。在每次開(kāi)始使用系統(tǒng)之前,進(jìn)行的初始化操作就包括刪除Debug文件夾、清空result和oute文件夾。1. “初始化”按鈕:此按鈕完成的功能是刪除Debug文件夾、清空result和oute文件夾。 } else { if(()) { SetFileAttributes(sFilePath, FILE_ATTRIBUTE_NORMAL)。 while(bFound) { bFound = ()。DeleteFile(StrDestFile)。// 設(shè)置“OK”按鈕禁用,點(diǎn)擊“初始化”后啟用}2. “添加文件”按鈕:點(diǎn)擊之后彈出選擇文件對(duì)話框,完成選擇所有的C源程序文件,然后將所有的C源程序文件添加至對(duì)話框的列表控件中,列表控件的每一行項(xiàng)目為C源程序文件的絕對(duì)路徑。(0, 0, LVIF_TEXT, FileName,0, 0, 0, 0)。 if(()==IDOK) { POSITION pos=()。 i++) { char szRegKey[50]。 在添加文件對(duì)話框完成所有工作后,點(diǎn)擊“OK”按鈕,發(fā)出按鈕按下的消息,在AutoCommandMethod()函數(shù)中調(diào)用build()函數(shù)。)1)。for (int nWorkspaceNumber = nNumWorkspaces。 CComPtrIDispatch pDispDocuments。pWorkspace))。 for (long i = 1 。IID_IBuildProjectpProject(pGenProject)。 j++) { CComVariant Varj = j。 VERIFY_OK(m_pApplic
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1