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

正文內(nèi)容

隨機(jī)抽題防作弊在線(xiàn)考試系統(tǒng)畢業(yè)論文-資料下載頁(yè)

2025-06-28 16:36本頁(yè)面
  

【正文】 s where ClassID = 39。 + classID + 39。)。 while (()){ = sdr2[ClassName].ToString()。}}其功能流程圖如下:查詢(xún)成績(jī)表記錄頁(yè)面顯示選中學(xué)生該科目考試成績(jī)信息查詢(xún)學(xué)生表中該學(xué)生信息存在記錄輸出班級(jí)ID存在記錄頁(yè)面顯示選中學(xué)生姓名信息根據(jù)班級(jí)ID查詢(xún)班級(jí)表中班級(jí)信息存在記錄頁(yè)面顯示班級(jí)名稱(chēng)信息 Y N Y N Y圖:55查詢(xún)考生考試成績(jī)流程圖 根據(jù)選中的成績(jī)記錄ID查詢(xún)成績(jī)表tb_Score,顯示該學(xué)生該科目的考試成績(jī)?cè)敿?xì)情況,根據(jù)學(xué)生學(xué)號(hào)查詢(xún)tb_Class中的班級(jí)名稱(chēng)信息。(2)試卷分析功能模塊:教師可以按班級(jí)分析整個(gè)班級(jí)的考試情況。1查詢(xún)所有參加該教師課程考試的班級(jí),具體代碼如下:string str = select * from tb_Score where ClassID =39。 + () + 39。and CourseID = 39。 + courseID + 39。 SqlDataReader sdr = (str)。while (()) { examinationID = sdr[ExaminationID].ToString()。 paperID += examinationID + ,。 }該功能流程圖如下:根據(jù)班級(jí)ID、科目ID查詢(xún)成績(jī)表把試卷ID放入paperIDID字段存在記錄 Y圖56查詢(xún)參加該教師課程考試班級(jí)的功能流程圖,這樣可以在頁(yè)面下拉框中列出參加過(guò)該課程考試的班級(jí)名稱(chēng),在教師選擇要查詢(xún)的班級(jí)后,點(diǎn)擊分析按鈕后,系統(tǒng)根據(jù)ClassID班級(jí)編號(hào)和CourseID課程編號(hào)查詢(xún)tb_Score成績(jī)表,用paperID存放這個(gè)班級(jí)參加過(guò)這門(mén)課程的考生試卷ID。2顯示要查詢(xún)的班級(jí)考試情況。下面以選擇題為例,具體實(shí)現(xiàn)代碼如下://選擇題分析string strS = select count(*) from tb_StudentAns where Type =39。139。and ExaminationID in( + paperID + )。int SelectCount = (strS)。 = (SelectCount)。//顯示選擇題題數(shù)string strS_S = select count(*) from tb_StudentAns where Type =39。139。and Scale =39。139。and ExaminationID in(39。 + paperID + 39。)。 int SelectRightAnsCount = (strS_S)。 = (SelectRightAnsCount)。//顯示選擇題正確題數(shù)double SelectScale = ((SelectRightAnsCount* / SelectCount)*10000)/100。 = () + %。//顯示選擇題比值該功能流程圖如下:計(jì)算所有選擇題正確的題數(shù)計(jì)算搜有選擇題題數(shù)計(jì)算選擇題正確率圖57顯示所選班級(jí)考試情況的功能流程圖系統(tǒng)會(huì)根據(jù)Type試題類(lèi)型和ExaminationID試卷編號(hào)查找tb_StudentAns學(xué)生答案表,統(tǒng)計(jì)該班級(jí)所以學(xué)生某種題型的總題數(shù)、正確題數(shù)。 管理員模塊 管理員模塊首頁(yè)管理員系統(tǒng)首頁(yè),默認(rèn)顯示學(xué)生信息頁(yè)面。管理模塊的控制部分,此頁(yè)面分別鏈接到學(xué)生信息管理、教師信息管理、班級(jí)信息管理、試題信息管理、科目信息管理、考試信息管理、管理員信息維護(hù)等頁(yè)面。 學(xué)生信息管理功能學(xué)生信息管理頁(yè)面,主要是對(duì)學(xué)生表tb_Student的添加、刪除、修改,班級(jí)表tb_Class的連接操作。在點(diǎn)擊“添加學(xué)生信息”后,管理員輸入要添加學(xué)生信息,包括學(xué)號(hào)、姓名、性別、班級(jí)、密碼,點(diǎn)擊“確定”按鈕后,系統(tǒng)根據(jù)學(xué)生學(xué)號(hào)查找學(xué)生表tb_Student,看是否已存在該學(xué)生學(xué)號(hào),若存在,則提示“此學(xué)號(hào)已存在”,添加失敗,否則添加成功。在點(diǎn)擊“學(xué)生基本信息查詢(xún)”后,選中要查詢(xún)的學(xué)生后,點(diǎn)擊詳細(xì)信息,可以對(duì)學(xué)生信息進(jìn)行修改。 教師信息管理功能教師信息管理可以查看、添加、刪除教師信息,主要是對(duì)教師表tb_Teacher的添加、刪除、修改,對(duì)科目表tb_Lesson的連接操作。在添加教師信息時(shí),點(diǎn)擊“添加教師信息”后,管理員輸入要添加教師信息,包括教師編號(hào)、姓名、負(fù)責(zé)科目、密碼,點(diǎn)擊“確定”按鈕后,系統(tǒng)根據(jù)教師編號(hào)查找教師表tb_Teacher,看是否已存在該教師編號(hào),若存在,則提示“此教師編號(hào)已存在”,添加失敗,否則添加成功。在點(diǎn)擊“教師基本信息查詢(xún)”后,選中要查詢(xún)的教師后,點(diǎn)擊詳細(xì)信息,可以對(duì)教師信息進(jìn)行修改。 班級(jí)信息管理功能通過(guò)該功能可以查看、添加班級(jí)的信息。其中可以設(shè)置班級(jí)學(xué)生人數(shù),在教師設(shè)置試卷時(shí),用于計(jì)算排數(shù)N的值,生成二維數(shù)組存放試卷ID。班級(jí)信息管理主要是對(duì)班級(jí)表tb_Class表的添加、刪除、修改等基本操作。在添加班級(jí)信息時(shí),點(diǎn)擊“添加班級(jí)信息”后,管理員輸入要添加班級(jí)信息,包括班級(jí)名稱(chēng)、班級(jí)編號(hào)、人數(shù)、系別、年級(jí)、專(zhuān)業(yè)。點(diǎn)擊“確定”按鈕后,系統(tǒng)根據(jù)班級(jí)編號(hào)查找班級(jí)表tb_Class,看是否已存在該班級(jí)編號(hào),若存在,則提示“此班級(jí)編號(hào)已存在”,添加失敗,否則添加成功。在點(diǎn)擊“班級(jí)基本信息查詢(xún)”后,選中要查詢(xún)的班級(jí)后,點(diǎn)擊詳細(xì)信息,可以對(duì)班級(jí)信息進(jìn)行修改。 教室信息管理管理員可以設(shè)置用來(lái)考試的教室信息,包括教室編號(hào)、教室名稱(chēng)、教室排數(shù)、和教室列數(shù)。這樣,教師在設(shè)置試卷時(shí),選擇不同的教室,根據(jù)行列情況,可以始終生成沒(méi)有重復(fù)試題的考試試卷,可以加大考試的靈活度。在添加教室信息時(shí),點(diǎn)擊“添加教室信息”后,管理員輸入要添加教室信息,點(diǎn)擊“確定”按鈕后,系統(tǒng)根據(jù)教室編號(hào)查找教室表tb_Classroom,看是否已存在該教室編號(hào),若存在,則提示“此教室編號(hào)已存在”,添加失敗,否則添加成功。在點(diǎn)擊“教室基本信息查詢(xún)”后,選中要查詢(xún)的教室后,點(diǎn)擊詳細(xì)信息,可以對(duì)教室信息進(jìn)行修改。 試題信息管理因管理員的試題信息管理功能基本與教師的試題信息管理功能一樣,在此不做過(guò)多講解。唯一的區(qū)別是,教師進(jìn)行試題信息管理的時(shí)候,系統(tǒng)已經(jīng)獲取教師編號(hào),故顯示試題時(shí)只顯示該教師所負(fù)責(zé)的科目的試題信息;而管理員在這方面擁有最高權(quán)限,可以自己選擇要添加、刪除、查詢(xún)的科目試題。 科目信息管理功能在本系統(tǒng)中,科目信息管理關(guān)系到教師信息管理,只有當(dāng)tb_Lesson表中存在該課程,在添加教師信息時(shí)負(fù)責(zé)課程中才會(huì)顯示。 成績(jī)管理頁(yè)面管理員可以查詢(xún)所有學(xué)生考試情況。點(diǎn)擊“考試結(jié)果查詢(xún)”,點(diǎn)擊要查詢(xún)的學(xué)生學(xué)號(hào),可以根據(jù)對(duì)應(yīng)的ID字段查找成績(jī)表tb_Score。 管理員信息維護(hù)功能 該功能可以修改管理員登錄密碼。 主要功能模塊后臺(tái)進(jìn)行隨機(jī)抽題是本系統(tǒng)最復(fù)雜的模塊,若在學(xué)生進(jìn)入考試時(shí)才進(jìn)行隨機(jī)抽題功能,很容易造成系統(tǒng)負(fù)載過(guò)重而引起系統(tǒng)崩潰,所以本系統(tǒng)隨機(jī)抽題,是在系統(tǒng)后臺(tái)生成試卷。在教師設(shè)置好試卷后,系統(tǒng)開(kāi)始自動(dòng)抽題。在試卷設(shè)置頁(yè)面,教師可以選擇參加此次考試的班級(jí)和要考試的教室,在教師設(shè)置好試卷后,點(diǎn)擊確定按鈕,系統(tǒng)后臺(tái)自動(dòng)生成試卷,通過(guò)抽題算法,實(shí)現(xiàn)隨機(jī)抽題功能。并且把試卷ID插入學(xué)生表tb_Student中的ExaminationID字段,只要考生在考試時(shí),按座號(hào)有序就坐,則可以使前后左右同學(xué)和中間同學(xué)試卷題目不一樣。系統(tǒng)在隨機(jī)抽題功能上的實(shí)現(xiàn)代碼如下:(1)判斷教師題庫(kù)中的試題數(shù)目是否大于教師所設(shè)置的試題題數(shù),若大于,則提示生成試卷失敗,否則進(jìn)入抽題功能。因其他題型判斷方式類(lèi)似,在此只列出選擇題的判斷方法,實(shí)現(xiàn)代碼如下:int ii = ((select count(*) from tb_Select where CourseID =39。 + Session[KCname].ToString() + 39。and pub =39。139。).ToString())。if (SelectNum ii){ (提示:抽取試題數(shù)目量大于數(shù)據(jù)庫(kù)中選擇題的數(shù)量,抽題失敗)。 return。}功能流程圖如下:ii為題庫(kù)中的選擇題題數(shù)SelectNumii進(jìn)入抽題功能提示抽題失敗獲取選擇題設(shè)置題數(shù)存入SelectNum圖:58判斷題庫(kù)題數(shù)是否足夠功能流程圖(2)進(jìn)行抽題前的基本設(shè)置。1通過(guò)教室座位安排情況和班級(jí)學(xué)生人數(shù),判斷將要生成多大的一個(gè)M*N二維數(shù)組。(若班級(jí)有52人,教室為8*10的排列,則計(jì)算后M行值為6)。通過(guò)此方法可以減少系統(tǒng)開(kāi)銷(xiāo),并且可以生成與教室座位安排情況一致的試卷ID排列順序。代碼如下:SqlDataReader sdr1 = (select * from tb_Classroom where ClassroomID =39。 + classroomID + 39。)。 while (()){ N = (sdr1[Y].ToString())。//存放教室的列值} ……SqlDataReader sdr2 = ( select * from tb_Class where ClassID =39。 + classid + 39。)。while (()){ count = (sdr2[StudentCount].ToString())。//存放班級(jí)學(xué)生人數(shù) } M = count / N + (count % N 0).GetHashCode()。 //計(jì)算行并取整。2在教師設(shè)置試卷時(shí),根據(jù)座位的要求,系統(tǒng)生成一個(gè)二維數(shù)組,用于存放考試試卷ID,通過(guò)兩個(gè)for循環(huán),把每張?jiān)嚲碣x值為1。具體代碼如下:string[,] StrID = new string[M, N]。for (int m1 = 0。 m1 M。 m1++) { for (int n1 = 0。 n1 N。 n1++) { StrID[m1, n1] = 1。//這里現(xiàn)在是存放試卷ID的,初始化為1; }}3在初始化試卷ID為1后,系統(tǒng)進(jìn)入隨機(jī)抽題狀態(tài)。具體代碼如下: for (int mi = 0。 mi M。 mi++) for (int nj = 0。 nj N。 nj++) { string leftID = 1。 string aheadID = 1。 string strStuLRAB = 。 if (mi 1 = 0)//判斷當(dāng)前位子的前面是否有位子存在 { aheadID = StrID[mi 1, nj]。 strStuLRAB += aheadID + ,。 } if (nj 1 = 0) //判斷當(dāng)前位子的左邊是否有位子存在 { leftID = StrID[mi, nj 1]。 strStuLRAB += leftID + ,。 }StrSelectID = getSelectID(strStuLRAB, SelectNum)。 //自定義的選擇題抽題方法,開(kāi)始抽題……//自定義的其他題型抽題方法,并把相關(guān)數(shù)據(jù)存回試卷表 }其功能主要流程如圖:計(jì)算M行、N列的值生成二維數(shù)組StrID[M, N]初始化StrID[M, N]每張?jiān)嚲碣x值為1mi=0miMnj=0mi++njNnj++初始化aheadID=1leftID=1mi1=0aheadID = StrID[mi 1, nj]nj1=0leftID= StrID[mi, nj 1]開(kāi)始進(jìn)入每種題型的抽題 YN YN Y N N Y 圖59 隨機(jī)抽題基本設(shè)置的流程圖首先系統(tǒng)初始化leftID(用于存放當(dāng)前位子左邊的位子的試卷ID)和aheadID(用于存放
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1