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

正文內(nèi)容

高校排課系統(tǒng)設(shè)計(jì)含需求分析數(shù)據(jù)庫(kù)算法和部分代碼畢業(yè)論文(編輯修改稿)

2025-07-21 05:43 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 程搜索到該課程教師、班級(jí)和教室共同空閑的時(shí)間片。排課算法的實(shí)質(zhì)就是為課程安排上課時(shí)間和上課地點(diǎn)。但是,如果同時(shí)考慮這兩者,必然會(huì)引起“組合爆炸”現(xiàn)象。所以為了避免這種情況,我采用回溯算法進(jìn)行排課,首先算出符合時(shí)間要求的老師,然后選出符合時(shí)間要求的教室。 排課過(guò)程 自動(dòng)排課算法流程自動(dòng)排課系統(tǒng),采用回溯算法,一層一層的進(jìn)行查找合適的時(shí)間以及教室。確定上課時(shí)間首先確定上課的時(shí)間上課的教師時(shí)間是否已被占用,沒(méi)有占用,則進(jìn)行下一步;如果被占用,則查找下一個(gè)時(shí)間片教師時(shí)間是否被占用。確定上課教師確定完上課時(shí)間后,還要確定上課地點(diǎn)。安排上課地點(diǎn)的原則是時(shí)間片不能與其他課程沖突。所以如果時(shí)間片不能滿足要求,要重新進(jìn)行時(shí)間安排。NNN開(kāi)始選擇一個(gè)上課時(shí)間判斷所選課程教師時(shí)間是否被占選擇一門課程判斷所選教室時(shí)間是否被占選擇一個(gè)教室確定上課時(shí)間內(nèi)容結(jié)束YY課程是否超出范圍Y教室是否超出范圍Y綜上所述,: 自動(dòng)排課系統(tǒng)流程圖 自動(dòng)排課程序在進(jìn)行排課之前,先要根據(jù)管理員所選擇的院系專業(yè),在數(shù)據(jù)庫(kù)找出需要進(jìn)行排序的課程。首先要先連接數(shù)據(jù)庫(kù),然后根據(jù)專業(yè)選擇正確的課程信息。這部分的代碼如下: string mystr =[myconnstring]。 OleDbConnection myconn = new OleDbConnection()。 OleDbCommand mycmd = new OleDbCommand()。 = mystr。 ()。 string mysql1 = SELECT ID FROM 院系信息 WHERE 學(xué)院名稱=39。 + +39。AND 專業(yè)名稱=39。++39。 = mysql1。 = myconn。 string id = ().ToString()。 string mysql2 = SELECT ID FROM 課程信息 WHERE 院系ID=39。 + id + 39。 = mysql2。 = myconn。 int kid = ( ().ToString())。//確定課程代碼在選取要進(jìn)行排序的課程之后,我們就要運(yùn)用回溯算法對(duì)課程進(jìn)行排序,已達(dá)到自動(dòng)排課的目的,其代碼部分如下:for (ti = 1。 ti 21。 ti++) { for (kid = 1。 kid 10。 kid++) { if (Jiaoshishijian(kid, ti))//教師時(shí)間沖突判斷 { for (rid = 1。 rid 10。 rid++) { if (Roomshijian(ti, rid))//教室時(shí)間沖突判斷 { string kc = Jilukecheng(kid, rid, ti)。// 確定課程時(shí)間教室 int iCells = (ti 1) / 4 + 1。 int iRows = ti (iCells 1) * 4。 [iRows].Cells[iCells].Text = kc。 break。 } else continue。 } break。 } else continue。 }回溯算法中要對(duì)教師時(shí)間和教室時(shí)間是否被占用進(jìn)行判斷。教師和教室的時(shí)間片標(biāo)記事先是寫好在數(shù)據(jù)庫(kù)里的,根據(jù)不同的代碼和時(shí)間片代碼從數(shù)據(jù)庫(kù)中讀取標(biāo)記位,然后進(jìn)行判斷就可以了。教師時(shí)間沖突判斷代碼如下:string mystr = [myconnstring]。OleDbConnection myconn = new OleDbConnection()。OleDbCommand mycmd1 = new OleDbCommand()。OleDbCommand mycmd2 = new OleDbCommand()。 = mystr。()。string mysql1 = SELECT 教師ID FROM 課程信息 WHERE ID=39。+kid+39。 = mysql1。 = myconn。string id = ().ToString()。string mysql2 = SELECT t+ ti + FROM 教師時(shí)間 WHERE 教師ID=39。 + id + 39。 = mysql2。 = myconn。string flag = ().ToString()。if(flag==0){return true。}elsereturn false。由于教室時(shí)間沖突與教師時(shí)間沖突代碼類似,在這里就不再寫明了。在時(shí)間沖突解決之后就是對(duì)課程進(jìn)行記錄了,在算法中有一個(gè)自定義類Jilukecheng(),其返回值就是已經(jīng)排列完成的課程的名稱和上課的教師以及上課的教師的字符串,而這個(gè)字符串的構(gòu)成方式如下:string mystr = [myconnstring]。OleDbConnection myconn = new OleDbConnection()。OleDbCommand mycmd1 = new OleDbCommand()。OleDbCommand mycmd2 = new OleDbCommand()。OleDbCommand mycmd3 = new OleDbCommand()。 = mystr。()。string mysql1 = SELECT 課程名稱 FROM 課程信息 WHERE ID=39。 + kid + 39。 = mysql1。 = myconn。string kcm = ().ToString()。string mysql2 = SELECT 教師姓名 FROM 課程信息 WHERE ID=39。 + kid + 39。 = mysql2。 = myconn。string jsm = ().ToString()。string mysql3 = SELECT 名稱 FROM 教室信息 WHERE ID=39。 + rid + 39。 = mysql3。 = myconn。string room = ().ToString()。string kc = kcm +br+ jsm +br+ room。//課程信息及教師安排 return kc。以上就是排課系統(tǒng)運(yùn)用回溯算法實(shí)現(xiàn)的過(guò)程以及部分實(shí)現(xiàn)代碼。 功能的實(shí)現(xiàn) 用戶登錄用戶登錄是系統(tǒng)的入口,只有符合條件的用戶才能進(jìn)入系統(tǒng),并且根據(jù)不同的身份執(zhí)行相應(yīng)的操作。用戶在登陸時(shí),只有帳號(hào)和密碼吻合才能進(jìn)入系統(tǒng)主界面。用戶登陸流程圖。YY開(kāi)始輸入用戶ID和密碼,選好身份核實(shí)密碼是否正確根據(jù)不同身份,進(jìn)入不同界面結(jié)束N連接數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中根據(jù)身份查找相應(yīng)的ID和密碼信息是否填寫完整N提示信息填寫不完整提示密碼不正確或查無(wú)此人 用戶登陸流程圖當(dāng)以學(xué)生或教師身份進(jìn)入系統(tǒng)之后,系統(tǒng)會(huì)記錄你的信息,并根據(jù)你不同的身份,將信息傳送到你多要跳轉(zhuǎn)的下一頁(yè)面,并且輸出在指定位置,這樣你可以確定你的信息是否正確。這個(gè)功能是通過(guò)Session方法實(shí)現(xiàn)的,Session方法可以在不同的頁(yè)面之間傳遞信息。在登錄界面中,我們只需要傳送你的ID信息即可,其余信息可在學(xué)生課程頁(yè)面和教師課程頁(yè)面繼續(xù)查找完成。例如判斷學(xué)生身份是否屬實(shí):string mystr =[myconnstring]。 OleDbConnection myconn = new OleDbConnection()。 OleDbCommand mycmd = new OleDbCommand()。 = mystr。 ()。 string mysql = SELECT count(*) FROM 學(xué)生信息 WHERE ID=39。 + + 39。 AND 密碼=39。 + + 39。 = mysql。 = myconn。 int count = (())。 if (count 0) { Session[ID] = 。 (?)。 } else (scriptalert(39。用戶ID或密碼錯(cuò)誤!39。)/script)。教師身份的的判斷方式基本相同,管理的判斷方式比之學(xué)生身份的判斷少一個(gè)步驟,就是傳輸信息,管理員登陸之后,不需要顯示管理員的信息,所以也就不需要對(duì)ID進(jìn)行網(wǎng)頁(yè)件的傳遞,但其余部分相同。圖 用戶登陸界面 查詢功能設(shè)計(jì)查詢功能分為3種:第一種是管理員進(jìn)行搜索式的查找;第二種是學(xué)生身份進(jìn)入系統(tǒng),查看自己的課表;第三種是教師身份進(jìn)入系統(tǒng),查看自己所教課程的班級(jí)的課程安排。根據(jù)登錄界面所選擇的身份,跳轉(zhuǎn)到不同的頁(yè)面,首先介紹管理員登陸后的界面,也就是管理員搜索功能設(shè)計(jì)的界面。在管理員所都功能中,我放置了2個(gè)GridView控件,用來(lái)顯示查找到的學(xué)生及教師信息。并設(shè)置2中查找方式,一種是根據(jù)代碼精確查找,另一種是根據(jù)姓氏迷糊查找。,學(xué)生是根據(jù)代碼精確查找的,教師是根據(jù)姓氏模糊查找的。 管理員查詢功能界面在學(xué)生進(jìn)行查看課程的時(shí)候,頁(yè)面首先進(jìn)行的是對(duì)從登陸頁(yè)傳遞過(guò)來(lái)的信息進(jìn)行查找,找出相應(yīng)的學(xué)生信息,在根據(jù)學(xué)生所在的專業(yè),找出相應(yīng)的課程信息輸出在網(wǎng)頁(yè)上。學(xué)生信息的查找時(shí)通過(guò)數(shù)據(jù)庫(kù)的,連接上數(shù)據(jù)庫(kù)之后,找出對(duì)應(yīng)ID的學(xué)生信息并輸出在標(biāo)簽中,代碼如下:string mystr =[myconnstring]。 OleDbConnection myconn = new OleDbConnection()。 OleDbCommand mycmd1 = new OleDbCommand()。 OleDbCommand mycmd2 = new OleDbCommand()。 OleDbCommand mycmd3 = new OleDbCommand()。 OleDbCommand mycmd4 = new OleDbCommand()。 = mystr。 ()。 string mysql1 = SELECT 姓名 FROM 學(xué)生信息 WHERE ID=39。 + Session[ID].ToString()+ 39。 = mysql1。 = myconn。 string mysql2 = SELECT ID FROM 學(xué)生信息 WHERE ID=39。 + Session[ID].ToString() + 39。 = mysql2。 = myconn。 string mysql3 = SELECT 院系 FROM 學(xué)生信息 WHERE ID=39。 + Session[ID].ToString() + 39。 = mysql3。 = myconn。 string mysql4 = SELECT 專業(yè) FROM 學(xué)生信息 WHERE ID=39。 + Session[ID].ToString() + 39。 = mysql4。 = myconn。 = ().ToString()。//輸出學(xué)生姓名 = ().ToString()。//輸出學(xué)生代碼 = ().ToString()。//輸出學(xué)生院系 = ().ToString()。//輸出學(xué)生專業(yè)。開(kāi)始接收登陸頁(yè)傳遞的信息根據(jù)信息查找學(xué)生姓名根據(jù)信息查找學(xué)生院系根據(jù)信息查找學(xué)生專業(yè)根據(jù)學(xué)生專業(yè)信息連接相應(yīng)的課程安排EXCEL表格輸出課程內(nèi)容結(jié)束 學(xué)生查詢流程圖
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1