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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-考場安排系統(tǒng)的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)—論文(編輯修改稿)

2025-01-06 17:40 本頁面
 

【文章內(nèi)容簡介】 教室! )。 return。 } (select 專業(yè)編號 from 班級 where 班級名稱 =39。%s39。,strBJMC)。 CString strZYBH。//取出專業(yè)編號 m_RecordsetPtr=(strSQL)。 m_RecordsetPtrMoveFirst()。 while(!m_RecordsetPtradoEOF) { strZYBH=(char*)(_bstr_t)m_RecordsetPtrGetCollect(專業(yè)編號 )。 m_RecordsetPtrMoveNext()。 } (select 課程名稱 from 專業(yè)課程 where 專業(yè)編號 =39。%s39。 and 課程名稱 =39。%s39。,strZYBH,strKCMC)。 m_RecordsetPtr=(strSQL)。 if (m_RecordsetPtr==FALSE) {//說明沒有找到 AfxMessageBox(該班無該項(xiàng)考試,請選擇正 確的考試安排! )。 return。 } (select * from 考試安排 where 班級名稱 =39。%s39。 and 課程名稱=39。%s39。,strBJMC,strKCMC)。 m_RecordsetPtr=(strSQL)。 if (m_RecordsetPtr!=FALSE) {//說明沒有找到 AfxMessageBox(該班該項(xiàng)考試已安排完畢! )。 return。 23 } (insert into 考 試 安 排 values(39。%s39。,39。%s39。,39。%s39。,39。%s39。,39。%s39。,39。%s39。),strBJMC,strKCMC,strJSID,strJS1,strJS2,strKSSJ)。 (strSQL)。 AfxMessageBox(添加成功! )。 (select * from 考試安排 )。 m_RecordsetPtr=(strSQL)。 show(m_RecordsetPtr)。 ?? 以上為當(dāng)判斷教師二在當(dāng)天是否被編排過的一種情況,對于這種情況我們是通過用戶在選擇未安排過的某個班級的某個課程之后,再選擇教師二中的教師,然后查詢數(shù)據(jù)庫臨時(shí)考場安排表中是否有符合在該門課程的考試時(shí)間中,有教師一與選擇的教師二想同,如果相同說明教師二的選擇有沖突,需要對教師二重新進(jìn)行選擇。同樣的情況判斷教師二在當(dāng)天是否被編排過還需要判斷選擇的教師二是否在數(shù)據(jù)庫臨時(shí)考場安排表中有該考試時(shí)間內(nèi),有教師二與選擇的教師二相同的情況。同理,我們判斷教師一 是否被編排過也是通過上面所描述的在該天教師一或者教師二中都不能有記錄。 對于同一考試日期內(nèi),一個教室只能提供一次考試的情況,我們通過在選擇未安排過的某個班級的某個課程之后,選擇教室編號,然后通過對班級專業(yè)課程表進(jìn)行查詢,查詢該班級該課程的考試時(shí)間,然后查詢該考試時(shí)間下是否有與用戶輸入的教室編號相同的,如果相同那么將輸入錯誤提示:“該教室該天已經(jīng)安排考試,請輸入不同的數(shù)據(jù)!”。 4. 3. 2 半自動考場安排 在半自動考場安排中,由于考場的安排涉及到很多張數(shù)據(jù)庫表,例如:教室表、監(jiān)考教師表、班級表等等,我們主要 是通過連接多個數(shù)據(jù)庫表查詢的復(fù)雜 SQL語句來實(shí)現(xiàn)自動生成考場安排的算法。 算法的具體實(shí)現(xiàn)步驟如下: 去處要安排考試的班級 ,考試科目 ,考試時(shí)間。典型 SQL語句分析: ( select 班級 .班級名稱 ,專業(yè)課程 .課程名稱 ,專業(yè)課程 .考試時(shí)間 from 班級 ,專業(yè)課程 where 班級 .專業(yè)編號 =專業(yè)課程 .專業(yè)編號) 從班級與專業(yè)課程兩張表中去查找對應(yīng)班級與考試相關(guān)的班級名、考試時(shí)間、考試科24 目等信息。 開始分配考試教室,取出所有的教室名,查找自動生成表,如果在本考試時(shí)間內(nèi)沒有安排就選擇它。 典型 SQL語句分析: (select 教師姓名 from 監(jiān)考教師 where 教師姓名 not in (select 教師一 from 自動安排 where 考試日期 =39。%s39。 ) and 教師姓名 not in (select 教師二 from 自動安排 where 考試日期 =39。%s39。 ) 查詢所有在所選出的日期中沒有進(jìn)行監(jiān)考安排的老師,使用的是查詢的嵌套。 在步驟 2中已通過循環(huán)生成了所有符合條件的考試安排信息,在步驟 3中將其插入數(shù)據(jù)庫,同時(shí)刷新列表顯示。 在手動調(diào)整功能模塊中,主要是針對已生成的考試安排數(shù)據(jù)表,在授權(quán)用戶進(jìn)行 插入、刪除、修改等數(shù)據(jù)庫操作時(shí),根據(jù)考試安排的的基本條件(下文將詳細(xì)講述)拒絕執(zhí)行不合法的操作,并給出提示給用戶。 圖 半自動考場安排 Form1 25 圖 半自動考場安排 Form2 4. 3. 3 考場安排基本條件 1)同一監(jiān)考教師不可能在同一時(shí)間在兩個不同的地方進(jìn)行監(jiān)考??紤]到這個情況,我們系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)時(shí)在考場安排表內(nèi)通過對新增加的數(shù)據(jù)與數(shù)據(jù)庫原有數(shù)據(jù)進(jìn)行比較,如果有同一時(shí)間內(nèi)有相同的教師一,或者相同的教師二,或者一條記錄的教師一與另外條記錄中教師二相同,那么都將被視為該類情況。對于監(jiān)考教師一 和監(jiān)考教師二在一條記錄中出現(xiàn)也視為此類情況。 2)同一班級不可能在同一時(shí)間考兩門不同的課程。為了直接避免這種情況的發(fā)生我們在數(shù)據(jù)庫專業(yè)課程表中直接考慮課程與時(shí)間上的對應(yīng),這樣就使得這種情況不會發(fā)生 3)同一教室在同一時(shí)間不可能提供兩門不同的課程的考試。對于這種情況我們在系統(tǒng)設(shè)計(jì)時(shí)將考場安排表中的班級和課程從班級專業(yè)課程表中取出,并從教室表中取得教室,如果考場安排表內(nèi)教室編號和考試時(shí)間相同,將被視為此類情況。 4)同一課程需要在同一時(shí)間內(nèi)進(jìn)行考試。對于這個我們在專業(yè)課程信息錄入時(shí)就將課程與時(shí)間安排好,并存儲在 專業(yè)課程表中。 26 5)由于存在大小班之分,所以必須根據(jù)學(xué)生人數(shù)數(shù)量安排教室的大小。我們的數(shù)據(jù)庫設(shè)計(jì)在這方面還有點(diǎn)不足之處,我們不排大教室,一般都是用小教室提供單班考試。當(dāng)系統(tǒng)考場編排半自動結(jié)束之后,然后可以根據(jù)需求使用大教室,并且多余的大教室我們做最后考慮。 6)參加監(jiān)考的兩位監(jiān)考教師不能為同一個人。但是還有種情況就是同名同姓的兩個不同老師,雖然在數(shù)據(jù)庫表中我們可以通過主鍵來區(qū)分,但是在界面顯示中還是不大會分清楚,所以對于這種情況我們可以采用姓名之后加編號的方法,比如“王五 1”、“王五 2”等,這樣就可以在直觀 上分清是哪位監(jiān)考教師參加監(jiān)考。 4. 3. 4 考場安排特殊條件 1)對于監(jiān)考教師的安排我們需要考慮合理安排監(jiān)考教師的監(jiān)考次數(shù),這個可以采取當(dāng)監(jiān)考教師參加一次監(jiān)考之后,為監(jiān)考的監(jiān)考次數(shù)后面加上 1,每次先去監(jiān)考次數(shù)小的教師。這種判定方法在實(shí)現(xiàn)方面比較復(fù)雜,為了能夠既考慮到教師的合理監(jiān)考次數(shù),又考慮系統(tǒng)實(shí)現(xiàn)的簡單性,我們采取了隨機(jī)數(shù)取值的方法。 2)對于大小教室的安排,我們采取優(yōu)先安排小教室,然后特殊情況再使用大教室??紤]到這一點(diǎn)的原因是大教室的數(shù)量遠(yuǎn)遠(yuǎn)比小教室要少,因此考慮完小教室情況之后然后根據(jù)實(shí)際要求使用大教室 。 3)考試安排設(shè)置在每天晚上這個時(shí)間段。對于這種情況,我們就可以在時(shí)間安排上將一天時(shí)間做為一個時(shí)間單位,并且只要顯示考試的日期就可以了,這樣一來在時(shí)間的判斷上我們的的工作量就可以減少很多。 4)對于教師有特殊要求,比如該教師那段時(shí)期處于假期或者培訓(xùn),或者某些教師需要先做安排的情況,我們可以提高這些教師的優(yōu)先級,讓這些教師先做安排。但目前由于算法上的原因我們的系統(tǒng)還未滿足此項(xiàng)需求。 第五章 系統(tǒng)實(shí)現(xiàn) 27 5. 1 系統(tǒng)功能實(shí)現(xiàn) 在雙擊 DEBUG文件夾中的考場安排系統(tǒng) .exe后,首先彈出一個用戶登入窗口,如 圖 所示。當(dāng)輸入正確的用戶名和密碼之后將進(jìn)入主程序窗體,同時(shí)隱藏登入界面。如果連接失敗將會提示“連接數(shù)據(jù)庫出錯!”或者“輸入信息不完整,請重新輸入!”或者“用戶名密碼不正確,請重新輸入!”。進(jìn)入主程序窗體之后我們首先需要錄入考場安排所需要的數(shù)據(jù)。 圖 系統(tǒng)登入界面 由于缺少后臺管理,所以管理員帳號和密碼需要事先輸入到數(shù)據(jù)庫中,這個是本系統(tǒng)的一個不足之處。進(jìn)入主程序窗口之后我們首先要輸入本次考場安排所需要的基本數(shù)據(jù),其中包括教室資料(如圖 )、班級資料(如圖 )、監(jiān)考教師資料(如圖 )、專業(yè)課程資料(如圖 )。這四部分的結(jié)構(gòu)基本上是相同的。由一列表顯示已經(jīng)輸入數(shù)據(jù)庫的信息。 28 圖 圖 29 圖 在信息錄入的時(shí)候我們需要特別注意的是專業(yè)課程資料管理。由于在設(shè)計(jì)時(shí)我們的考試時(shí)間在這里就已經(jīng)定好了,這樣做的目的是為了能夠減少不穩(wěn)定因素,使考場安排的編排出現(xiàn)不合理的幾率能夠降低。所以在信息錄入的時(shí)候我們需要做 出判斷(如圖 ),我們需要先判斷有多少班級的課程需要進(jìn)行編排,然后確定需要在多少時(shí)間內(nèi)將這些考試安排30 完。這個過程是一個取平均值的過程,通過對總的班級課程數(shù)目除以考試天數(shù),然后得到平均值,并通過數(shù)學(xué)方法或者運(yùn)籌學(xué)的方法得到最優(yōu)方案,避免了某天的考場安排時(shí)由于安排班級過多而導(dǎo)致教室的不足。在考試天數(shù)的計(jì)算問題上我們可以采取這種方法:取考試課程數(shù)量最大值 X2。這樣的安排目的是確保考試之余能夠提供復(fù)習(xí)時(shí)間,如果需要加長復(fù)習(xí)時(shí)間我們可以 。在安排課程和時(shí)間的時(shí)候我們需要主要注意: 1)同一專業(yè)的不 同課程的考試不能安排在同一天進(jìn)行,當(dāng)然視情況,最好安排間隔一天,中間的間隔天數(shù)能夠提供復(fù)習(xí)。 2)同一專業(yè)的班級必須在同一天參加同一門考試。這種情況是明顯需要支持的。 3)對于班級課程的安排要大致接近計(jì)算出來的平均數(shù),不能有太多偏差。 由于專業(yè)課程的錄入是通過人工操作的,所以在時(shí)間上的編排需要人工來操作,系統(tǒng)在該點(diǎn)上還存在不足,如果能夠?qū)⒖荚嚂r(shí)間的安排能夠做一個自動化安排將能夠減少更多的人力資源。在上面的教師資料管理中我們還需要注意一個問題,就是如果教師重名的情況,對于這種情況我們需要在錄入的時(shí)候做好標(biāo)記, 能夠明顯地區(qū)分兩者或者更多重名。 當(dāng)完成相關(guān)的系統(tǒng)錄入之后我們便可以對這些數(shù)據(jù)進(jìn)行相關(guān)操作。首先我們先進(jìn)行一次考場安排手工編排。如圖 所視,考慮到使手工編排不出現(xiàn)混亂的情況,我們可以將班級跟課程作為一個數(shù)據(jù)集合,然后分配教室和監(jiān)考教師,當(dāng)出現(xiàn)于本文中 基本要求相沖突的話系統(tǒng)將彈出一個對話框,告訴手工編排者選擇其他教室或者其他教師,直到系統(tǒng)判定選擇為合理的為止。當(dāng)記錄中包含了所有班級與課程的數(shù)據(jù)集之后,那么一個考場編排基本成型,這 個時(shí)候?yàn)榱藘?yōu)化考場編排,我們可以對記錄再進(jìn)行調(diào)整。 { 全部班級課程 考試時(shí)間 1 安排考試的天數(shù) 考試時(shí)間 2 考試時(shí)間 N 部分課程 1 部分課 程 2 部分課程 N 圖 課程與時(shí)間的合理安排 31 圖 考場安排手動編排 手工編排考場具有隨意性和主觀性,半自動考場生成將這種隨意性和主觀性大大削弱。我們只要點(diǎn)擊半自動考場安排界面中的“生成考場安排表”按鈕,系統(tǒng)就會自動編排考場(如圖 )。記錄數(shù)與班級和課程的數(shù)據(jù)集合數(shù)量相同。 圖 半自動生成考場安排表 點(diǎn)擊“手動調(diào)整”按鈕我們可以進(jìn)入半自動考場安排表手動調(diào)整界面對數(shù)據(jù)進(jìn)行相關(guān)操作(如圖 ),在這里主要是針對已生成的考試安排數(shù)據(jù)表,在授權(quán)用戶進(jìn)行插入、刪除、修改32 等數(shù)據(jù)庫操作時(shí) ,根據(jù)考試安排的的基本條件(下文將詳細(xì)講述)拒絕執(zhí)行不合法的操作,并給出提示給用戶。 圖 半自動考場安排表手動調(diào)整 5. 2 系統(tǒng)環(huán)境配置 本程序所使用的工具為 VC++,數(shù)據(jù)庫設(shè)計(jì)所用工具是 Access 2021,軟件測試環(huán)境為 Microsoft Windows XP. 本系統(tǒng)具有良好的可移植性,通過解壓安裝可以在普通計(jì)算機(jī)上使用。系統(tǒng)對硬件和軟件配置有一定的要求,其中硬件配置: 486 以上檔次的計(jì)算機(jī),彩色顯示器,內(nèi)存 8M,硬盤 200M;軟件配置: Windows 98/2021/XP操作系統(tǒng),具有 SP2補(bǔ)丁。 5. 3 開發(fā)工具介紹 Visual C++簡介: 幾乎所有世界級的軟件,從業(yè)界領(lǐng)先的 Web 瀏覽器到面向任務(wù)的企業(yè)應(yīng)用,都是使用Microsoft Visual C++開發(fā)系統(tǒng)來開發(fā)的。要用 C++來開發(fā) Windows和 Web上的高性能應(yīng)用33 程序, Visual C++是效率最高的首選工具。 Visual C++ 在不犧牲靈活性、性能和控制力度的同時(shí),給 C++帶來更高水平的生產(chǎn)效率。除了 IntelliSense Technology(智能感應(yīng)技術(shù))和 Edit and Continue(即編即調(diào))等顯著縮短開發(fā)時(shí)間的新特性外, Visual C++ 還為 Web 開發(fā)和企業(yè)開發(fā)提供更良好的支持。 Microsoft Visual C++ 專業(yè)版的健壯的構(gòu)件開發(fā)、強(qiáng)大的數(shù)據(jù)庫工具和完備的 Inter 支持將使您從中受益,創(chuàng)建出策略性的商務(wù)解決方
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1