java課程設(shè)計(jì)報(bào)告 標(biāo)準(zhǔn)化考試系統(tǒng)_第1頁(yè)
java課程設(shè)計(jì)報(bào)告 標(biāo)準(zhǔn)化考試系統(tǒng)_第2頁(yè)
java課程設(shè)計(jì)報(bào)告 標(biāo)準(zhǔn)化考試系統(tǒng)_第3頁(yè)
java課程設(shè)計(jì)報(bào)告 標(biāo)準(zhǔn)化考試系統(tǒng)_第4頁(yè)
java課程設(shè)計(jì)報(bào)告 標(biāo)準(zhǔn)化考試系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔精心整理精品文檔可編輯的精品文檔java課程設(shè)計(jì)報(bào)告標(biāo)準(zhǔn)化考試系統(tǒng)目錄:1、java課程設(shè)計(jì)報(bào)告標(biāo)準(zhǔn)化考試系統(tǒng)2、XXXX年第一次生產(chǎn)技能人員標(biāo)準(zhǔn)化崗位考試試卷3、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)航班查詢與檢索甘肅政法學(xué)院計(jì)算機(jī)科學(xué)學(xué)院Java程序設(shè)計(jì)課程設(shè)計(jì)題目標(biāo)準(zhǔn)化考試系統(tǒng)計(jì)算機(jī)科學(xué)學(xué)院計(jì)算科學(xué)與技術(shù)專業(yè)11級(jí)專升本班學(xué)號(hào):201181210115姓名:劉昆明指導(dǎo)教師:李瑞生成績(jī):____________完成時(shí)間:2011年11月目錄1.設(shè)計(jì)內(nèi)容及要求 -1-1.1標(biāo)準(zhǔn)化考試系統(tǒng)的基本要求 -1-1.2需實(shí)現(xiàn)的主要功能 -1-2.需求分析 -2-2.1數(shù)據(jù)庫(kù)設(shè)計(jì) -2-2.2服務(wù)器端和客戶端的數(shù)據(jù)傳輸方式 -2-2.3服務(wù)器端功能設(shè)計(jì) -3-2.4客戶端功能設(shè)計(jì) -4-3.總體設(shè)計(jì) -4-3.1總體功能圖 -4-3.2總體流程圖 -5-4.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì) -7-4.1數(shù)據(jù)庫(kù)及表結(jié)構(gòu)的建立 -7-4.2JAVA數(shù)據(jù)庫(kù)的連接 -8-5.主要功能設(shè)計(jì)流程 -8-5.1服務(wù)器端設(shè)計(jì)流程圖 -8-5.2客戶端設(shè)計(jì)流程圖 -9-6.代碼實(shí)現(xiàn) -10-6.1類之間關(guān)系圖 -10-6.2運(yùn)行效果圖 -11-6.3程序打包發(fā)布過程 -17-7.總結(jié)與說明 -18-8.參考文獻(xiàn)…………….-19-精品文檔可編輯的精品文檔標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)【摘要】:在現(xiàn)今知識(shí)爆炸的年代里,教學(xué)的質(zhì)量和怎樣提高教師的工作效率成了各大院校的首要任務(wù)。找題、選題和出卷就成為一項(xiàng)非常重要的工作。每學(xué)期教師都要為各類考試付出大量的精力和工作,尤其是一位教師教授多門學(xué)科的時(shí)候,工作量將成倍增加。因此開發(fā)此考試系統(tǒng),對(duì)各專業(yè)課程的問卷進(jìn)行整理入庫(kù),以便在需要的時(shí)候能夠及時(shí)、方便、快速的對(duì)學(xué)生進(jìn)行各級(jí)測(cè)試,從而使考試過程趨于簡(jiǎn)單化,減少教師在這方面的工作負(fù)擔(dān)。因此,使用現(xiàn)在的新技術(shù),開發(fā)出適應(yīng)新的需求的新系統(tǒng)刻不容緩。四年的大學(xué)生活轉(zhuǎn)瞬既逝,在這四年中,我系統(tǒng)的學(xué)習(xí)了計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的所有課程。深入的學(xué)習(xí)了各個(gè)科目的理論知識(shí),對(duì)專業(yè)知識(shí)有了整體的掌握。在即將畢業(yè)之際,為了理論聯(lián)系實(shí)際,檢驗(yàn)自己的學(xué)習(xí)成果,我選擇了這個(gè)題目作為課程設(shè)計(jì)。在此畢業(yè)設(shè)計(jì)的完成過程中,我嚴(yán)格遵循軟件開發(fā)的過程,將理論知識(shí)與具體問題相結(jié)合。在應(yīng)用程序開發(fā)中我一方面學(xué)習(xí)了軟件編程思想,另一方面具體的運(yùn)用了JAVA語(yǔ)言。體會(huì)了他的諸多功能和特色。熟悉了數(shù)據(jù)庫(kù)應(yīng)用程序的開發(fā)原理。確實(shí)達(dá)到了學(xué)校和輔導(dǎo)教師對(duì)我們應(yīng)屆畢業(yè)生的各種要求。【關(guān)鍵詞】:J2ME;標(biāo)準(zhǔn)化考試;設(shè)計(jì)與實(shí)現(xiàn)精品文檔可編輯的精品文檔1.設(shè)計(jì)內(nèi)容及要求1.1標(biāo)準(zhǔn)化考試系統(tǒng)的基本要求設(shè)計(jì)C/S模式的標(biāo)準(zhǔn)化考試系統(tǒng),即客戶端和服務(wù)器端都是Java應(yīng)用程序,具體要求如下:開始運(yùn)行程序后,出現(xiàn)連接服務(wù)器界面,用戶輸入服務(wù)器IP地址,并請(qǐng)求服務(wù)器建立套接字連接,程序可以判斷用戶輸入的服務(wù)器IP是否正確,并給出連接提示,使客戶端與服務(wù)器端分離。正確連接服務(wù)器后,有用戶登錄驗(yàn)證功能,用戶可以選擇自己的登錄身份,是學(xué)生還是教師。用戶在登錄界面輸入用戶名,密碼以及登錄身份后,客戶端會(huì)把用戶的相關(guān)信息通過套接字發(fā)送到服務(wù)器端,服務(wù)器端根據(jù)客戶端傳來(lái)的信息對(duì)用戶的身份進(jìn)行驗(yàn)證,并發(fā)送相關(guān)信息到客戶端。學(xué)生正確登錄后,進(jìn)入考試主界面,用戶可以選擇試題進(jìn)行考試,點(diǎn)擊開始按鈕開始考試,考試考試后,有計(jì)時(shí)功能,考試完成以后用戶可以查看自己的分?jǐn)?shù),可以查看原題目、正確答案以及該道題目的分值,用戶還可以查看自己所選的答案,用戶考試完成后可以選擇退出系統(tǒng)。教師登錄成功后,進(jìn)入后臺(tái)管理界面,教師可以對(duì)標(biāo)準(zhǔn)化考試系統(tǒng)進(jìn)行管理,教師有以下管理功能:1.可以增加、查詢、修改和刪除試題;2.可以查看所有考生的考試成績(jī),而且可以對(duì)考生進(jìn)行排名查看;3.可以增加、查詢、修改和刪除學(xué)生信息;4.可以增加、修改、查詢和刪除教師信息;試卷名字、學(xué)生信息、教師信息、試題全都用SQLServer數(shù)據(jù)庫(kù)存儲(chǔ),并且采用JDBC連接數(shù)據(jù)庫(kù)。每一道題都必須提供正確答案以及分值。1.2需實(shí)現(xiàn)的主要功能C/S模式,即客戶端與服務(wù)器端都是Java應(yīng)用程序;輸入服務(wù)器IP地址,連接服務(wù)器功能;登錄驗(yàn)證功能;學(xué)生可以選擇所要做的試題;開始考試后,有計(jì)時(shí)功能,當(dāng)時(shí)間結(jié)束時(shí)考試結(jié)束;完成考試后,學(xué)生可以查看自己的分?jǐn)?shù)、試題、正確答案、分值以及自己所選擇的答案;教師可以增加、修改、查詢、刪除試題;教師可以查看所有考生的成績(jī),并且可以按成績(jī)降序查看成績(jī);教師可以增加、修改、查詢、刪除學(xué)生信息;教師可以增加、修改、查詢、刪除教師信息;2.需求分析根據(jù)標(biāo)準(zhǔn)化考試系統(tǒng)的設(shè)計(jì)要求和所要實(shí)現(xiàn)的功能,對(duì)標(biāo)準(zhǔn)化考試系統(tǒng)的需求分析如下:2.1數(shù)據(jù)庫(kù)設(shè)計(jì)此標(biāo)準(zhǔn)化考試系統(tǒng)采用的是數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)試題的,而不是采用文件最主要的一個(gè)原因是數(shù)據(jù)庫(kù)的讀取速度比文件讀取速度快。該系統(tǒng)采用的是SQLServer2005數(shù)據(jù)庫(kù),SQLServer數(shù)據(jù)庫(kù)是一個(gè)非常強(qiáng)大的數(shù)據(jù)庫(kù),在各方面應(yīng)用比較廣泛,是一些中小型項(xiàng)目開發(fā)首選數(shù)據(jù)庫(kù)。該標(biāo)準(zhǔn)化考試系統(tǒng)需要?jiǎng)?chuàng)建kaoshi數(shù)據(jù)庫(kù)文件,在該數(shù)據(jù)庫(kù)中需要?jiǎng)?chuàng)建student、teachter、shijuan和Test1四個(gè)表。Student數(shù)據(jù)表是用來(lái)存儲(chǔ)學(xué)生信息;teachter數(shù)據(jù)表用來(lái)存儲(chǔ)教師信息;shijuan數(shù)據(jù)表用來(lái)存儲(chǔ)試卷名字;Test1用來(lái)存儲(chǔ)試題。2.2服務(wù)器端和客戶端的數(shù)據(jù)傳輸方式服務(wù)器端和客戶端的數(shù)據(jù)時(shí)用套接字來(lái)傳輸?shù)?。IP地址表示Internet上的計(jì)算機(jī),端口號(hào)標(biāo)識(shí)正在計(jì)算機(jī)運(yùn)行的進(jìn)程。端口號(hào)與IP地址的組合得出一個(gè)網(wǎng)絡(luò)套接字??蛻舳耸褂肧ocket類建立到服務(wù)器的套接字連接,具體實(shí)現(xiàn):try{Socketsock=newSocket(Stringhost,intport);}catch(IOExceptione){}當(dāng)套接字連接sock建立后,sock使用getInputStream()方法獲得一個(gè)輸入流,然后把獲得的輸入流接到另一個(gè)數(shù)據(jù)流上,然后就可以從這個(gè)數(shù)據(jù)流讀取服務(wù)器來(lái)的信息,同樣sock使用getOutputStream()方法獲得一個(gè)輸出流,然后把獲得的輸出流接到另一個(gè)DataOutputStram()數(shù)據(jù)流上,然后向這個(gè)數(shù)據(jù)流寫入信息,發(fā)送給服務(wù)器??蛻糌?fù)責(zé)建立客戶端到服務(wù)器的套接字連接,即客戶端負(fù)責(zé)呼叫,因此服務(wù)器必須建立一個(gè)等待接收客戶的套接字的ServerSocket對(duì)象,具體實(shí)現(xiàn):try{ServerSocketserver_socket=newServerSocket(intport);}catch(IOExceptione){}當(dāng)服務(wù)器的ServerSocket對(duì)象建立后,就可以使用accept()方法接收客戶的套接字。2.3服務(wù)器端功能設(shè)計(jì)服務(wù)器端是接受客戶端傳來(lái)的信息,并作出相應(yīng)的處理。標(biāo)準(zhǔn)化考試系統(tǒng)服務(wù)器端最主要是實(shí)現(xiàn)試題的讀取。為了完成這個(gè)標(biāo)準(zhǔn)化考試系統(tǒng)還需要服務(wù)器有一些其他的功能,比如:計(jì)算學(xué)生考試分?jǐn)?shù),用戶登錄驗(yàn)證,教師對(duì)系統(tǒng)管理的實(shí)現(xiàn)等。2.3.1試題讀取功能本系統(tǒng)是采用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)試題的,所以要讀取試題必須首先建立與Test1數(shù)據(jù)表的連接,然后利用ResultSet的對(duì)象rs的getString()方法得到試題的內(nèi)容,然后把試題內(nèi)容發(fā)給客戶端。2.3.2用戶登錄驗(yàn)證功能當(dāng)用戶登錄時(shí),客戶端會(huì)獲取用戶輸入的用戶名和密碼,并且會(huì)把信息發(fā)送給服務(wù)器,服務(wù)器會(huì)根據(jù)客戶端發(fā)來(lái)的信息對(duì)用戶的身份進(jìn)行驗(yàn)證。kaoshi數(shù)據(jù)庫(kù)有兩個(gè)數(shù)據(jù)表是用來(lái)存儲(chǔ)用戶信息的,student數(shù)據(jù)表存儲(chǔ)學(xué)生信息,teachter數(shù)據(jù)表存儲(chǔ)教師信息,當(dāng)用戶以學(xué)生身份登錄系統(tǒng)時(shí),服務(wù)器會(huì)在student數(shù)據(jù)表中查詢有沒有這個(gè)用戶,并根據(jù)查詢的信息判斷學(xué)生是否成功登陸,把信息發(fā)送給客戶端,當(dāng)用戶以教師身份登錄系統(tǒng)時(shí),服務(wù)器會(huì)在student數(shù)據(jù)表中查詢有沒有這個(gè)用戶,并根據(jù)查詢的信息判斷教師是否成功登陸,把信息發(fā)送給客戶端。2.4客戶端功能設(shè)計(jì)客戶端是提供學(xué)生進(jìn)行考試和教師對(duì)系統(tǒng)進(jìn)行管理,由于該系統(tǒng)是C/S模式,所以客戶端必須有連接服務(wù)器功能,連接服務(wù)器后有用戶登錄功能,用戶正確登錄后,學(xué)生用戶進(jìn)入考試界面,所以客戶端必須有考試功能,教師用戶正確登錄后進(jìn)入教室管理界面,客戶端必須有試題管理功能,查詢學(xué)生成績(jī)功能,學(xué)生信息管理功能,教師信息管理功能。2.4.1連接服務(wù)器功能客戶端與服務(wù)器端連接時(shí)通過套接字實(shí)現(xiàn)的,本系統(tǒng)采用的是把套接字放在一個(gè)線程中,就是使用Socket類不帶參數(shù)的構(gòu)造方法Socket()創(chuàng)建一個(gè)套接字對(duì)象,該對(duì)象需調(diào)用publicvoidconnect(SocketAddressendpoint)throwsIOException,請(qǐng)求和參數(shù)SocketServer指定的套接字建立連接。為了使用connect方法,可以使用SocketAddress的子類InetSocketAddress創(chuàng)建一個(gè)對(duì)象,InetSocketAddress的構(gòu)造方法如下:publicInetSocketAddress(InetAddressaddr,intport)。2.4.2用戶登錄功能用戶在進(jìn)入系統(tǒng)前必須經(jīng)過用戶登錄,用戶登錄功能是為了保護(hù)系統(tǒng)的安全,當(dāng)用戶寫入用戶名和密碼,并且選擇了登陸身份后,客戶端會(huì)獲取用戶的信息發(fā)送給服務(wù)器端,讓服務(wù)器度昂對(duì)用戶的身份進(jìn)行驗(yàn)證,并傳來(lái)登錄是否成功的信息,客戶端根據(jù)服務(wù)器端傳來(lái)的信息進(jìn)行判斷,如果登錄成功,彈出對(duì)話框顯示用戶登錄成功,學(xué)生進(jìn)入考試界面,教師進(jìn)入后臺(tái)管理界面;如果登錄失敗,彈出對(duì)話框顯示用戶名或密碼錯(cuò)誤或者顯示你已經(jīng)登錄了。2.4.3考試功能學(xué)生正確登錄后就進(jìn)入考試界面,學(xué)生進(jìn)入考試界面后,必須選擇試卷,客戶端會(huì)通知服務(wù)器端列出所有的試卷名稱,在客戶端的下拉列表中會(huì)顯示所有試卷的名字,用戶選擇了試卷后,客戶端會(huì)通知服務(wù)器端學(xué)生所選的試卷名稱,學(xué)生點(diǎn)擊開始考試按鈕就可以開始考試了,同時(shí)計(jì)時(shí)器開始計(jì)時(shí),當(dāng)用戶完成考試或者時(shí)間用完了考試結(jié)束,考試結(jié)束后用戶可以點(diǎn)擊查詢成績(jī)按鈕,用戶可以看到題目,答案以及自己所選的答案,還有你的成績(jī),查詢成績(jī)是用對(duì)話框?qū)崿F(xiàn),玩了后用戶可以退出系統(tǒng)。2.4.4后臺(tái)管理功能 后臺(tái)管理功能就是對(duì)試題進(jìn)行管理,查詢學(xué)生成績(jī),對(duì)學(xué)生信息進(jìn)行管理,對(duì)教師信息進(jìn)行管理,試題管理有對(duì)尸體進(jìn)行增加,刪除,查詢,修改,當(dāng)用戶在客戶端輸入試題信息后,點(diǎn)擊這些按鈕,客戶端就會(huì)發(fā)送信息給服務(wù)器,服務(wù)器來(lái)查詢或者修改數(shù)據(jù)庫(kù),其他的也一樣,總是通過服務(wù)器端對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作3.總體設(shè)計(jì)3.1總體功能圖根據(jù)分析,標(biāo)準(zhǔn)化考試系統(tǒng)必須實(shí)現(xiàn)以下功能:1.連接服務(wù)器功能;2.用戶登錄功能;3.考試功能;4.管理功能;根據(jù)系統(tǒng)需求,標(biāo)準(zhǔn)化考試系統(tǒng)的總體功能圖如圖3-1所示:圖3-1總體功能圖3.2總體流程圖圖3-2總體流程圖4.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)4.1數(shù)據(jù)庫(kù)及表結(jié)構(gòu)的建立該標(biāo)準(zhǔn)化考試系統(tǒng)共創(chuàng)建了一個(gè)kaoshi數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)中創(chuàng)建了student、teachter、shijuan和Test1四個(gè)表。表3-1kaoshi數(shù)據(jù)庫(kù)邏輯名稱文件類型文件組初始大小自動(dòng)增長(zhǎng)路徑文件名kaoshi數(shù)據(jù)PRIMARY3MB不限制D:\...Kaoshi_log日志不適用1MB不限制D:\...student數(shù)據(jù)表是用來(lái)保存學(xué)生信息,該數(shù)據(jù)表包含用戶名,密碼,性別,年齡,班級(jí)和分?jǐn)?shù)六個(gè)字段,具體設(shè)計(jì)如表3-2所示:表3-2student數(shù)據(jù)表列名數(shù)據(jù)類型允許空用戶名varchar(50)否密碼varchar(50)否性別varchar(50)否年齡varchar(50)否班級(jí)varchar(50)否分?jǐn)?shù)int是teachter數(shù)據(jù)表是用來(lái)存儲(chǔ)教師信息,該數(shù)據(jù)表包含教工ID,教工姓名,教工密碼,教工性別和教工職稱5個(gè)字段,具體設(shè)計(jì)如表3-3所示:表3-3teachter數(shù)據(jù)表列名數(shù)據(jù)類型允許空教工IDvarchar(50)否教工姓名varchar(50)否教工密碼varchar(50)否教工性別varchar(50)否教工職稱varchar(50)否Test1數(shù)據(jù)表是用來(lái)存儲(chǔ)試題信息的,該數(shù)據(jù)表包含題目編號(hào),內(nèi)容,A選項(xiàng),B選項(xiàng),C選項(xiàng),D選項(xiàng),正確答案和分值8個(gè)字段,具體設(shè)計(jì)如表3-4所示:表3-4Test1數(shù)據(jù)表列名數(shù)據(jù)類型允許空題目編號(hào)varchar(50)否內(nèi)容varchar(500)否A選項(xiàng)varchar(100)否B選項(xiàng)varchar(100)否C選項(xiàng)varchar(100)否D選項(xiàng)varchar(100)否正確答案varchar(50)否分值varchar(50)否4.2JAVA數(shù)據(jù)庫(kù)的連接該系統(tǒng)是用JDBC連接數(shù)據(jù)庫(kù)。首先必須加載JDBC驅(qū)動(dòng),然后利用DriverManager.getConnection()連接服務(wù)器和數(shù)據(jù)庫(kù)。具體實(shí)現(xiàn)如下:StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加載JDBC驅(qū)動(dòng)StringdbURL="jdbc:sqlserver://localhost:1433;DatabaseName=kaoshi";//連接服務(wù)器和數(shù)據(jù)庫(kù)kaoshiStringuserName="sa";//默認(rèn)用戶名StringuserPwd="123";//密碼try{Class.forName(driverName);dbConn=DriverManager.getConnection(dbURL,userName,userPwd);System.out.println("ConnectionSuccessful!");//如果連接成功控制臺(tái)輸出ConnectionSuccessful!}catch(Exceptione){e.printStackTrace();} }5.主要功能設(shè)計(jì)流程5.1服務(wù)器端設(shè)計(jì)流程圖根據(jù)對(duì)服務(wù)器端功能的分析,得到服務(wù)器設(shè)計(jì)流程圖如圖3-3所示:圖3-3服務(wù)器端設(shè)計(jì)流程圖5.2客戶端設(shè)計(jì)流程圖根據(jù)客戶端功能分析,得到客戶端設(shè)計(jì)流程圖如圖3-4所示:圖3-4客戶端設(shè)計(jì)流程圖6.代碼實(shí)現(xiàn)6.1類之間關(guān)系圖在編寫標(biāo)準(zhǔn)化考試系統(tǒng)時(shí),編寫了8個(gè)java源文件:Main.Java,ChaChengji.Java,ClientTestArea.Java,DengluPanel.Java,Guanli.Java,Lianjie.Java,ChatServer.Java,ReadTestquestion.Java其中ChatServer.Java,ReadTestquestion.Java為服務(wù)器端java程序編譯產(chǎn)生所需要的類;Main.Java,ChaChengji.Java,ClientTestArea.Java,DengluPanel.Java,Guanli.Java,Lianjie.Java為客戶端java程序編譯產(chǎn)生所需要的類。標(biāo)準(zhǔn)化考試系統(tǒng)除了需要編寫的8個(gè)java源文件所編譯產(chǎn)生的類外,還需要java系統(tǒng)提供的一些重要的類。如ServerSocket,Socket,JTabbedPane等類。標(biāo)準(zhǔn)化考試系統(tǒng)所用到的一些重要的類以及它們之間的關(guān)系如圖3-5和圖3-6所示。圖3-5服務(wù)器端類之間的關(guān)系圖圖3-6客戶端類之間的關(guān)系圖6.2運(yùn)行效果圖連接服務(wù)器界面:圖3-7連接服務(wù)器界面學(xué)生登錄界面:圖3-8學(xué)生登錄界面考試主界面:圖3-9考試主界面開始考試后界面:圖3-10開始考試后界面成績(jī)查詢界面:圖3-11成績(jī)查詢界面教師登錄界面:圖3-12教師登錄界面試題管理界面:圖3-13試題管理界面查看學(xué)生成績(jī)界面:圖3-14查看學(xué)生成績(jī)界面學(xué)生信息管理界面:圖3-15學(xué)生信息管理界面教師信息管理界面:圖3-16教師信息管理界面服務(wù)器端效果圖:圖3-17服務(wù)器端效果圖6.3程序打包發(fā)布過程服務(wù)器端服務(wù)器端程序在命令行窗口運(yùn)行,不需要打包。2.客戶端可以使用jar.Exe命令制作JAR文件來(lái)發(fā)布編寫的客戶端軟件(1)首先用文本編輯器,比如Windows下的記事本,編寫一個(gè)清單文件:mymoon.MfManifest-Version:1.0Main-Class:MainCreated-By:1.5(SunMicrosystemsInc.)將mymoon.Mf保存到D:\標(biāo)準(zhǔn)化考試系統(tǒng)\客戶端中,即和應(yīng)用程序所用的字節(jié)碼保存在相同的目錄中。注意:清單文件中的“Manifest-Version:”和1.0之間,“Main-Class:”和主類Main之間以及“Created-By:”和1.5之間必須有且只有一個(gè)空格生成JAR文件D:\標(biāo)準(zhǔn)化考試系統(tǒng)\客戶端\jarcfmkaoshi.jarmymoon.mf*.class其中參數(shù)c表示要生成的一個(gè)新的JAR文件,f表示要生成的JAR文件的名字,m表示清單文件的名字。現(xiàn)在就可以將kaoshi.Jar分值到任何一個(gè)安裝了java運(yùn)行環(huán)境的計(jì)算機(jī)上,用戶雙擊該文件的圖標(biāo)就可以運(yùn)行客戶端軟件。7.總結(jié)與說明該標(biāo)準(zhǔn)化考試系統(tǒng)采用的是C/S模式,客戶端和服務(wù)器端都是應(yīng)用程序。客戶端與服務(wù)器端是用Socket和ServerSocket進(jìn)行通信,服務(wù)器端根據(jù)客戶端傳來(lái)的信息來(lái)進(jìn)行相應(yīng)的操作,客戶端根據(jù)服務(wù)器傳來(lái)的信息把信息顯示給用戶。該系統(tǒng)有學(xué)生考試功能和教師管理功能,兩個(gè)功能都是在客戶端,數(shù)據(jù)庫(kù)存放在服務(wù)器端。本系統(tǒng)有3個(gè)特點(diǎn):本系統(tǒng)采用的全都是null布局。空布局容器可以準(zhǔn)確地定位組件在容器中的位置和大小,setBounds(inta,intb,intwidth,intheight)方法是所有組件都擁有的一個(gè)方法,組件調(diào)用該方法可以設(shè)置本身的大小和在容器中的位置。本系統(tǒng)用了大量的圖片。這些圖片作為窗口的背景和按鈕的背景,加入背景圖片必須采用null布局,這些圖片不是用drawImage()方法繪制的,而是用把背景圖片加到JLabel,然后在容器中加入其它組件并設(shè)置這些組件的大小和位置,最后在該容器中加入JLabel組件,把JLabel組件的大小設(shè)置成窗口一樣大,這樣就實(shí)現(xiàn)了背景圖片的加入。因?yàn)楸鞠到y(tǒng)采用了大量的圖片,所以界面不會(huì)很難看。有人說用java做出來(lái)的界面很難看,我看不一定,java不是提供了圖片功能嗎,只要應(yīng)用好java的這個(gè)特性就行。所以不管那一種編程語(yǔ)言,只要它提供了圖片功能,那么用它編寫的界面就不會(huì)很難看。本系統(tǒng)采用SQLServer存儲(chǔ)數(shù)據(jù),并且用JDBC連接數(shù)據(jù)庫(kù)。用JDBC連接SQLServer數(shù)據(jù)庫(kù)首先必須加載JDBC驅(qū)動(dòng),然后利用DriverManager.getConnection()連接服務(wù)器和數(shù)據(jù)庫(kù)。8.參考文獻(xiàn) 《JAVA2實(shí)用教程》作者:耿祥義出版社:清華大學(xué)出版社 《JAVA實(shí)用教程》作者:鄭阿奇出版社:電子工業(yè)出版社精品文檔精心整理精品文檔可編輯的精品文檔蕭山供電局2011年第一次生產(chǎn)技能人員標(biāo)準(zhǔn)化崗位考試試卷(模擬練習(xí))題號(hào)一二三四五六總分審核人簽字分值100得分考試時(shí)間:120分鐘。得分評(píng)卷人一、選擇題【本大題共30小題,每小題1分,共30分;在每小題給出的四個(gè)選項(xiàng)中,只有一個(gè)符合題意要求,把所選項(xiàng)前的字母填在題后的括號(hào)內(nèi)?!?、對(duì)稱三相電源三角形連接時(shí),線電壓等于(A)。(A)相電壓;(B)2倍相電壓;(C)3倍相電壓;(D)倍相電壓。2、變壓器氣體繼電器有氣體,油的閃點(diǎn)降低,且油色變黑并有一種特殊的氣味,這表示(B)。(A)鐵芯接片斷裂;(B)鐵芯片局部短路與鐵芯局部熔毀;(C)鐵芯間絕緣損壞;(D)絕緣損壞3、采取無(wú)功補(bǔ)償裝置調(diào)整系統(tǒng)電壓時(shí),對(duì)系統(tǒng)來(lái)說(B)。(A)調(diào)整電壓的作用不明顯;(B)即補(bǔ)償了系統(tǒng)的無(wú)功容量,又提高了系統(tǒng)的電壓;(C)不起無(wú)功補(bǔ)償?shù)淖饔?;(D)調(diào)整電容電流。4、關(guān)于安全色的安全表識(shí),下列錯(cuò)誤的是(C)。(A)在電氣上圖成紅色的電器外殼表示外殼有電;(B)線路上黑色表示工作零線;(C)直流系統(tǒng)中紅色表示正極,黑色表示負(fù)極;(D)明敷接地扁鋼或圓鋼涂黃綠雙色。5、數(shù)字化變電站從邏輯功能上劃分有哪幾種(A)。(A)過程層、間隔層、變電站層;(B)控制層、間隔層、變電站層;(C)過程層、間隔層、監(jiān)控層;(D)過程層、控制層、變電站層。6、設(shè)備狀態(tài)一般分(A)。(A)正常狀態(tài)、注意狀態(tài)、異常狀態(tài)、嚴(yán)重狀態(tài);(B)正常狀態(tài)、異常狀態(tài)、嚴(yán)重狀態(tài);(C)正常狀態(tài)、注意狀態(tài)、嚴(yán)重狀態(tài);(D)正常狀態(tài)、注意狀態(tài)、異常狀態(tài)。7、防誤裝置所用的直流電源(C)(A)應(yīng)與繼電保護(hù)、控制回路的電源相同。(B)應(yīng)與控制回路的電源分開,應(yīng)與繼電保護(hù)的電源相同。(C)應(yīng)與繼電保護(hù)、控制回路的電源分開,使用的交流電源應(yīng)是不間斷供電系統(tǒng)。(D)應(yīng)與繼電保護(hù)的電源分開,應(yīng)與控制回路的電源相同。8、電壓互感器的誤差與二次負(fù)載的大小有關(guān),當(dāng)負(fù)載增加時(shí),相應(yīng)誤差(A)。(A)將增大;(B)將減??;(C)可視為不變;(D)有變化9、在中性點(diǎn)不接地的電力系統(tǒng)中,當(dāng)發(fā)生一點(diǎn)接地后,其三相間線電壓(B)。(A)均升高3倍;(B)均不變;(C)一個(gè)不變兩個(gè)升高;(D)兩個(gè)低一個(gè)高。10、消弧線圈在運(yùn)行時(shí),如果消弧的抽頭滿足XL=XC的條件時(shí),這種運(yùn)行方式稱(C)。(A)過補(bǔ)償;(B)欠補(bǔ)償;(C)全補(bǔ)償;(D)不補(bǔ)償11、變壓器一次側(cè)為額定電壓時(shí),其二次側(cè)電壓(B)。(A)必然是額定值;(B)隨著負(fù)載電流的大小和功率因數(shù)的高低而變化;(C)隨著所帶負(fù)載的性質(zhì)而變化;(D)無(wú)變化規(guī)律12、強(qiáng)制性防止電氣誤操作措施不包括(C)。(A)在設(shè)備的電動(dòng)操作控制回路中串聯(lián)以閉鎖回路控制的接點(diǎn)或鎖具;(B)在設(shè)備的手動(dòng)操控部件上加裝受閉鎖回路控制的鎖具;(C)在帶地刀的電動(dòng)隔離開關(guān)的主刀和地刀之間采用機(jī)械閉鎖;(D)盡可能按技術(shù)條件的要求防止走空程操作。13、裝設(shè)接地線的順序是(B)。(A)先裝中相后裝兩邊相;(B)先裝接地端;(C)先裝導(dǎo)體端;(D)隨意裝。14、戴絕緣手套進(jìn)行高壓設(shè)備操作時(shí),應(yīng)將外衣袖口(A)。(A)裝入絕緣手套中;(B)卷上去;(C)套在手套外面;(D)隨意。15、在中性點(diǎn)不接地系統(tǒng)中,正常情況下每相對(duì)地電容電流為/oc,當(dāng)發(fā)生單相金屬性接地后,流過接地點(diǎn)的電流為(C)。(A)IoC;(B)IoC;(C)3IoC;(D)IoC。16、變壓器的過電流保護(hù),加裝低電壓保護(hù)元件是(A)。(A)提高保護(hù)的靈敏度;(B)提高保護(hù)的選擇性;(C)提高保護(hù)的可靠性;(D)提高保護(hù)的速動(dòng)性。17、操作中發(fā)生疑問時(shí),應(yīng)(C)并向發(fā)令人報(bào)告。待發(fā)令人再行許可后,方可進(jìn)行操作。(A)盡快解決疑問操作完畢;(B)已操作項(xiàng)操作完畢后立即停止操作;(C)立即停止操作;(D)恢復(fù)已操作項(xiàng)。18、建筑工、油漆工等非電氣人員進(jìn)行工作時(shí),工作票應(yīng)發(fā)給(C)(A)承包負(fù)責(zé)人;(B)工作許可人;(C)監(jiān)護(hù)人;(D)工作人員本人。19、不得用閘刀進(jìn)行下列操作(C)。(A)在電網(wǎng)無(wú)接地時(shí)拉、合電壓互感器;(B)在無(wú)雷擊時(shí)拉、合避雷器;(C)拉、合較長(zhǎng)母線的充電電流;(D)在沒有接地故障時(shí),拉、合變壓器中性點(diǎn)接地閘刀。20、變電所現(xiàn)場(chǎng)運(yùn)行規(guī)程應(yīng)(B)審核一次,每(B)進(jìn)行一次全面的修訂、審定并印發(fā)。若有重大或原則上的修改時(shí),應(yīng)縮短修訂、審批、出版時(shí)間。(A)半年,1年;(B)1年,3~5年;(C)2年,3~5年;(D)半年,3年。21、根據(jù)省公司防止電氣誤操作安全管理規(guī)定實(shí)施細(xì)則的規(guī)定,防誤裝置及電氣設(shè)備出現(xiàn)異常要求解鎖操作,下列人員具有解鎖批準(zhǔn)權(quán)限的為(D)。(A)站(所)長(zhǎng);(B)當(dāng)值調(diào)度值班員;(C)防誤專職;(D)地市局變電運(yùn)行工區(qū)生產(chǎn)副主任或縣局生產(chǎn)副局長(zhǎng)。22、運(yùn)行人員因工作調(diào)動(dòng)或其它原因離崗(B)以上者,必須經(jīng)過培訓(xùn)并履行考試和審批手續(xù),方可上崗正式擔(dān)任值班工作。(A)一個(gè)月;(B)三個(gè)月;(C)六個(gè)月;(D)十二個(gè)月。23、經(jīng)審批后的典型操作票應(yīng)作為新建變電所投運(yùn)時(shí)的必備條件之一,改、擴(kuò)建工程的典型操作票的修改、審批應(yīng)(D)完成。(A)在一周內(nèi);(B)在一個(gè)月內(nèi);(C)在三個(gè)月內(nèi);(D)與設(shè)備投運(yùn)同步。24、因故中斷操作后,在恢復(fù)時(shí)必須在現(xiàn)場(chǎng)重新核對(duì)(A)的設(shè)備命名并唱票、復(fù)誦無(wú)誤后,方可繼續(xù)操作.(A)當(dāng)前步驟;(B)前一步驟;(C)后一步驟;(D)所有步驟。25、許可第一種工作票應(yīng)由(B)及以上資格運(yùn)行值班人員擔(dān)任。(A)副值;(B)正值;(C)副值長(zhǎng);(D)值長(zhǎng)。26、工作票有效時(shí)間以批準(zhǔn)的(C)為限,嚴(yán)禁超期工作。(A)計(jì)劃時(shí)間;(B)許可時(shí)間;(C)檢修期;(D)計(jì)劃期。27、運(yùn)行值班人員和工作班成員(C)變更工作現(xiàn)場(chǎng)安全措施。(A)一般不得;(B)視具體情況可;(C)均不得擅自;(D)不強(qiáng)求執(zhí)行。28、工作過程中,(C)均不得擅自變更工作現(xiàn)場(chǎng)安全措施。(A)運(yùn)行值班人員;(B)工作班成員;(C)運(yùn)行值班人員和工作班成員;(D)工作負(fù)責(zé)人。29、運(yùn)行值班(操作)人員和檢修維護(hù)人員應(yīng)做到的“三懂兩會(huì)”是指(C)。(A)懂防誤裝置的原理、性能、接線;會(huì)操作、使用;(B)懂防誤裝置的原理、性能、結(jié)構(gòu);會(huì)操作、使用;(C)懂防誤裝置的原理、性能、結(jié)構(gòu);會(huì)操作、維護(hù);(D)懂防誤裝置的原理、性能、接線;會(huì)操作、維護(hù)。30、對(duì)于防誤功能不完善的檢修設(shè)備接地,應(yīng)采用(C)的方法來(lái)有效防止帶電裝設(shè)接地線和帶接地線合閘的惡性誤操作事故的發(fā)生。(A)掛標(biāo)示牌;(B)貼接地標(biāo)識(shí);(C)接地線定位;(D)掛普通鎖具。得分評(píng)卷人二、判斷題【本大題共30小題,每小題0.5分,共15分;對(duì)的在()內(nèi)打“√”,錯(cuò)的在()內(nèi)打“×”】()1、高頻保護(hù)既可作全線路快速切除保護(hù),又可作相鄰母線和相鄰線路的后備保護(hù)。(×)(√)2、電磁閉鎖裝置是將斷路器、隔離開關(guān)、隔離網(wǎng)門等設(shè)備的輔助接點(diǎn)接入電磁閉鎖電源回路構(gòu)成的閉鎖。(√)3、對(duì)使用常規(guī)閉鎖技術(shù)無(wú)法滿足防誤要求的設(shè)備,宜加裝帶電顯示裝置達(dá)到防誤要求。()4、保護(hù)連接片投入前,應(yīng)使用高內(nèi)阻電壓表測(cè)量連接片兩端無(wú)電壓后,方可投入。(√)()5、當(dāng)系統(tǒng)振蕩或發(fā)生兩相短路時(shí),會(huì)有零序電壓和零序電流出現(xiàn)。(×)()6、將三相繞組的首末端依次相連,構(gòu)成一個(gè)閉合回路,再?gòu)娜齻€(gè)連接點(diǎn)處引出三根線的連接方式為△形連接。(√)()7、在中性點(diǎn)不接地的系統(tǒng)中,發(fā)生單相接地故障時(shí),其線電壓不變。(√)()8、斷路器動(dòng)、靜觸頭分開瞬間,觸頭間產(chǎn)生電弧,此時(shí)電路處于斷路狀態(tài)。(×)()9、繼電保護(hù)裝置切除故障的時(shí)間,等于繼電保護(hù)裝置的動(dòng)作時(shí)間。(×)()10、差動(dòng)保護(hù)的優(yōu)點(diǎn)是能夠迅速地、有選擇地切除保護(hù)范圍內(nèi)的故障。(√)(√)11、對(duì)于微機(jī)防誤閉鎖裝置,現(xiàn)場(chǎng)操作通過電腦鑰匙實(shí)現(xiàn),操作完畢后,要將電腦鑰匙中當(dāng)前狀態(tài)信息返回給防誤裝置主機(jī)進(jìn)行狀態(tài)更新,以確保防誤裝置主機(jī)與現(xiàn)場(chǎng)設(shè)備狀態(tài)的一致性。()12、高壓斷路器停止運(yùn)行,允許手動(dòng)機(jī)構(gòu)或就地手動(dòng)操作按鈕分閘。(×)()13、變壓器油枕的作用是擴(kuò)大散熱面積,改善冷卻條件。(×)()14、電流互感器二次回路只允許有一個(gè)接地點(diǎn)。(√)()15、變比不相等的兩臺(tái)變壓器并聯(lián)運(yùn)行只會(huì)使負(fù)載分配不合理。(×)()16、無(wú)論在變壓器投入運(yùn)行的過程中,還是在停用的過程中,均應(yīng)先接通各側(cè)中性點(diǎn)接地隔離開關(guān)。(√)(√)17、事故應(yīng)急處理時(shí)可不填寫操作票,但應(yīng)使用典型操作票或事故應(yīng)急處理操作卡。(×)18、采用計(jì)算機(jī)監(jiān)控系統(tǒng)時(shí),遠(yuǎn)方、就地操作均應(yīng)具備電氣“五防”閉鎖功能。若具有前置機(jī)操作功能的,可不具備上述閉鎖功能。(×)19、待用間隔(母線連接排、引線已接上母線的備用間隔)應(yīng)有名稱,無(wú)需編號(hào),并列入調(diào)度管轄范圍。(√)20、電氣設(shè)備操作后的位置檢查以設(shè)備實(shí)際位置為準(zhǔn),對(duì)無(wú)法看到實(shí)際位置時(shí),可以通過“兩個(gè)及以上指示已同時(shí)發(fā)生對(duì)應(yīng)變化”來(lái)確認(rèn)。(×)21、新設(shè)備或檢修后相位可能變動(dòng)的設(shè)備,投入運(yùn)行時(shí),校驗(yàn)相序相同后允許進(jìn)行合環(huán)操作。(×)22、在處理事故或倒閘操作時(shí),不得進(jìn)行交接班;交接班時(shí)發(fā)生事故,應(yīng)停止交接班,由交接班人員共同處理。(×)23、斷路器和隔離開關(guān)的電氣閉鎖回路可以使用重動(dòng)繼電器。(×)24、熄燈巡視內(nèi)容是檢查設(shè)備有無(wú)電暈、放電、接頭有無(wú)過熱現(xiàn)象以及檢查接地網(wǎng)是否完好。(×)25、沒有調(diào)度值班員的操作指令,不得擅自對(duì)變電所自行管轄設(shè)備進(jìn)行倒閘操作。(√)26、在驗(yàn)電前應(yīng)將驗(yàn)電器在有電的設(shè)備上試驗(yàn),證明該驗(yàn)電器完好,再在合接地閘刀或掛接地線處逐相驗(yàn)電。如屬連續(xù)操作,下次驗(yàn)電器使用時(shí)可不再在有電設(shè)備上試驗(yàn),只要使用試驗(yàn)按鈕試驗(yàn)即可。(√)27、工作負(fù)責(zé)人應(yīng)經(jīng)工區(qū)(所、公司)生產(chǎn)領(lǐng)導(dǎo)批準(zhǔn),每年審查并以正式文件公布。(×)28、工作間斷后,次日復(fù)工時(shí)不必得到工作許可人許可,工作人員在確保安全的情況下進(jìn)入作業(yè)現(xiàn)場(chǎng)開始工作。(×)29、在變電站內(nèi)工作,外部人員嚴(yán)禁將任何形式的接地線帶入變電站內(nèi),但個(gè)人保安線除外。(√)30、微機(jī)防誤裝置的操作鑰匙應(yīng)具有經(jīng)授權(quán)密碼可跳過當(dāng)前操作步驟的功能。得分評(píng)卷人三、簡(jiǎn)答題【本大題共5小題,每小題4分,共20分】1、誤分、合隔離開關(guān)如何處理?P3572、繼電保護(hù)裝置交直流電源停用的順序是什么?反之會(huì)產(chǎn)生什么后果?P4223、根據(jù)防誤裝置管理規(guī)定,哪些情況應(yīng)加掛機(jī)械鎖?答:4、請(qǐng)簡(jiǎn)要寫出倒閘操作“七禁”答:5、請(qǐng)寫出220kV雙母線接線,某220kV主變間隔,正母閘刀、變壓器閘刀的防誤閉鎖邏輯(220kV操作站人員按圖1做題)請(qǐng)寫出110kV內(nèi)橋接線,某110kV主變間隔,母線閘刀、變壓器閘刀的防誤閉鎖邏輯(110kV操作站人員按圖2做題)圖1圖2得分評(píng)卷人四、計(jì)算題【本大題共2小題,每小題5分,共10分】1、如圖所示,已知R1=R2=R3=R4=3Ω,R5=6Ω,試求當(dāng)控制開關(guān)SA打開和閉合時(shí),電路中a、b兩端的等效電阻Rab的值各是多少?2.解:從電路可知,當(dāng)SA開關(guān)打開時(shí):R1與R3串聯(lián),電阻為R′=R1+R3=3+3=6(Ω)R2與R4串聯(lián),電阻為R″=R2+R4=3+3=6(Ω)R5與R′和R″并聯(lián),R′與R″先并聯(lián),且相等,即R5與R并聯(lián),則電路中a、b兩端的等效電阻為當(dāng)SA開關(guān)閉合時(shí),從電路可知:R1與R2并聯(lián)R3與R4并聯(lián)R1.2與R3.4串聯(lián),電阻為R=R1.2+R3.4=1.5+1.5=3(Ω)R再與R5并聯(lián),則為電路ab兩端的等效電阻2、一臺(tái)三相三繞組的變壓器,其電壓比121/38.5/11kV,繞組的容量分別為10000/5000/10000KVA,繞組連接為YN,yn,d11,試計(jì)算與高、中、低壓側(cè)相應(yīng)的額定電壓和電流各是多少?得分評(píng)卷人五、作圖題【本大題共2小題,每小題5分,共10分】1、畫出Yd11連接組別變壓器的電路圖與相量圖。答:2、畫出高頻收發(fā)信機(jī)通道兩側(cè)發(fā)信過程的示意圖得分評(píng)卷人六、論述題【本大題共2小題,每小題7.5分,共15分】某站綜合自動(dòng)化監(jiān)控系統(tǒng)在操作1#主變壓器110kV斷路器時(shí),系統(tǒng)提示操作不成功,請(qǐng)進(jìn)行處理過程中的危險(xiǎn)源分析?某站110kV系統(tǒng)為雙母線接線系統(tǒng),2#電壓互感器發(fā)生過熱冒煙現(xiàn)象,請(qǐng)進(jìn)行處理過程中的危險(xiǎn)點(diǎn)源分析精品文檔精心整理精品文檔可編輯的精品文檔算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告航班查詢與檢索題目:航班查詢與檢索指導(dǎo)老師:組長(zhǎng):成員:一:航班信息的查詢與檢索初始化信息進(jìn)行排序初始化信息進(jìn)行排序主菜單顯示輸入查詢序號(hào)判斷序號(hào)是否合法按航班號(hào)查詢按時(shí)間查詢按地點(diǎn)查詢按票價(jià)查詢輸出航班信息結(jié)束開始按時(shí)間查詢:輸入查詢時(shí)間Time=1輸入查詢時(shí)間Time=1按抵達(dá)時(shí)間查詢按起飛時(shí)間查詢返回查詢信息開始是否開始輸入票價(jià)范圍開始輸入票價(jià)范圍判斷有無(wú)符合條件票價(jià)票價(jià)輸出相應(yīng)信息返回查詢信息按票價(jià)范圍查詢按站點(diǎn)查詢:開始返回查詢信息開始返回查詢信息輸入起點(diǎn)終點(diǎn)及ADAD=1?按目的站查詢按起點(diǎn)站查詢否是二分法查詢:輸入航班號(hào)開始輸入航班號(hào)開始輸入航班號(hào)對(duì)應(yīng)序列號(hào)High=mid+1Low<=highhNum=F[mid].flight_numberMid=(high+low)/2Num<F[mid]fligt_numberLow=mid+1返回是否二:算法分析:程序主要采用結(jié)構(gòu)體鏈表順序表隊(duì)列主要算法:/*航班信息的查詢與檢索*/三:/*航班信息的查詢與檢索*/#include<iostream.h>#include<string.h>#include<stdio.h>#defineN6//航班數(shù)//航班信息typedefstructflight{charflight_number[10];//航班號(hào)charstart_address[10];//起飛站chararrived_address[10];//終點(diǎn)站charwork_date[10];//班期charstart_time[6];//起飛時(shí)間chararrived_time[6];//到達(dá)時(shí)間charFlightType[4];//機(jī)型intfare;//票價(jià)}DataType;structflightFlight[N];//-----------按航班號(hào)進(jìn)行基數(shù)排序-----------typedefcharKeyType;#defineD7//D為排序碼的最大位數(shù)#defineR'a'//R為基數(shù),這里為小于字母'a'代表的整型值structNode;//單鏈表結(jié)點(diǎn)類型typedefstructNodeRadixNode;structNode{KeyTypekey[D];//關(guān)鍵字DataTypeinfo;//數(shù)據(jù)信息RadixNode*next;};typedefRadixNode*RadixList;typedefstructQueueNode{RadixNode*f;//對(duì)列的頭指針RadixNode*e;//對(duì)列的尾指針}Queue;Queuequeue[R];//用隊(duì)列表示桶voidradixSort(RadixList*plist,intd,intr){inti,j,k;RadixNode*p,*head;head=(*plist)->next;for(j=d-1;j>=0;j--)//進(jìn)行d次分配和收集{p=head;for(i=0;i<r;i++){queue[i].f=NULL;queue[i].e=NULL;//清隊(duì)列}while(p!=NULL){k=p->key[j];//按排序碼的第j個(gè)分量進(jìn)行分配if(queue[k].f==NULL)queue[k].f=p;//若第k個(gè)堆為空,則當(dāng)前記錄為隊(duì)頭else(queue[k].e)->next=p;//否則當(dāng)前記錄鏈接到第k隊(duì)的隊(duì)尾queue[k].e=p;p=p->next;}i=0;while(queue[i].f==NULL)i++;//從r個(gè)隊(duì)列中找出第一個(gè)非空的隊(duì)列p=queue[i].e;head=queue[i].f;//head為收集鏈表的頭指針for(i++;i<r;i++)if(queue[i].f!=NULL){p->next=queue[i].f;p=queue[i].e;}//收集非空隊(duì)列p->next=NULL;}(*plist)->next=head;}//初始化航班信息structNodeelement[N+1]={"","","","","","","","",0,NULL,//表頭 "CA1544","CA1544","合肥","北京","1245","10:55","12:40","733",960,NULL, "MU5341","MU5341","上海","廣州","每日","14:20","16:15","M90",1280,NULL,"CZ3869","CZ3869","重慶","深圳","246","08:55","10:35","733",1010,NULL,"MU3682","MU3682","桂林","南京","23467","20:50","22:15","M90",1380,NULL,"HU1836","HU1836","上海","北京","每日","09:40","11:20","738",1250,NULL,"CZ3528","CZ3528","成都","廈門","13457","15:10","16:50","CRJ",1060,NULL,};//------------信息顯示------------//按表的格式輸出某個(gè)航班信息//顯示頭部信息voidCout_info1(){cout<<"****************************************\n"<<endl; cout<<"*歡迎您使用*\n"<<endl;cout<<"*航班信息表*\n"<<endl;cout<<"****************************************\n"<<endl;cout<<"航班號(hào)起飛時(shí)間到達(dá)時(shí)間起飛站終點(diǎn)站班期機(jī)型票價(jià)\n"<<endl;}//顯示主體信息voidCout_info2_1(Nodep[])//方式一{cout<<""<<p->info.flight_number;cout<<""<<p->info.start_time;cout<<""<<p->info.arrived_time;cout<<""<<p->info.start_address;cout<<""<<p->info.arrived_address;cout<<""<<p->info.work_date;cout<<""<<p->info.FlightType;cout<<""<<p->info.fare<<"元"<<endl;}voidCout_info2_2(flightF[],inti)//方式二{cout<<""<<F[i].flight_number;cout<<""<<F[i].start_time;cout<<""<<F[i].arrived_time;cout<<""<<F[i].start_address;cout<<""<<F[i].arrived_address;cout<<""<<F[i].work_date;cout<<""<<F[i].FlightType;cout<<""<<F[i].fare<<"元"<<endl;}//顯示所有航班信息voidoutput_ALL_info1(Nodeelement[])//方式一{RadixListp=element;Cout_info1();p=p->next;while(p!=NULL){Cout_info2_1(p);p=p->next;}cout<<endl;}voidoutput_ALL_info2(flightF[])//方式二{Cout_info1();for(inti=0;i<N;i++){Cout_info2_2(F,i);}cout<<endl;}//--------------信息復(fù)制----------------//將排好的序列(鏈表)轉(zhuǎn)化成順序表存儲(chǔ)形式voidcopy(flightF[],Nodeelement[]){RadixListp=element;p=p->next;inti;for(i=0;i<N&&p!=NULL;i++){strcpy(F[i].flight_number,p->info.flight_number);strcpy(F[i].start_time,p->info.start_time);strcpy(F[i].arrived_time,p->info.arrived_time);strcpy(F[i].start_address,p->info.start_address);strcpy(F[i].arrived_address,p->info.arrived_address);strcpy(F[i].work_date,p->info.work_date);strcpy(F[i].FlightType,p->info.FlightType);F[i].fare=p->info.fare;p=p->next;}}//---------------服務(wù)菜單--------------voidF_By_Time(flightF[],int);voidF_By_Address(flightF[],int);voidF_By_fare(flightF[]);voidF_By_FN(flightF[]);//主菜單voidmainmenu(){charch;inty;cout<<"主菜單\n"<<endl;cout<<"===========================================================\n"<<endl;cout<<"Pleasechoose:(inputthenumber)(輸入查詢/排序命令)\n"<<endl;cout<<"0.showthemainmenu(顯示主菜單)\n"<<endl;cout<<"1.Findbyflightnumber(按航班號(hào)查詢)\n"<<endl;cout<<"2.Findbystarttime(按起飛時(shí)間查詢)\n"<<endl;cout<<"3.Findbyarrivedtime(按到達(dá)時(shí)間查詢)\n"<<endl;cout<<"4.Findbystartaddress(按起飛地點(diǎn)查詢)\n"<<endl;cout<<"5.Findbyarrivedaddress(按目的地點(diǎn)查詢)\n"<<endl;cout<<"6.Findbythefare(按票價(jià)范圍查詢)\n"<<endl;cout<<"----其他鍵退出"<<endl;cout<<"===========================================================\n"<<endl;while(1){cout<<"請(qǐng)輸入服務(wù)命令:";cin>>y;switch(y){case0:mainmenu();break;case1:F_By_FN(Flight);break;case2:F_By_Time(Flight,1);break;case3:F_By_Time(Flight,2);break;case4:F_By_Address(Flight,1);break;case5:F_By_Address(Flight,2);break;case6:F_By_fare(Flight);break;default:cout<<"謝謝惠顧!"<<endl;break;}cout<<"是否退出?(Y/N):";cin>>ch;if(ch=='Y'||ch=='y')break;}}//--------------查詢系統(tǒng)--------------//通過航班號(hào)實(shí)現(xiàn)二分查找法查找voidF_By_FN(flightF[]){intlow=0,high=N,mid;charNum[10];cout<<"請(qǐng)輸入您要查詢的航班號(hào):";cin>>Num;Cout_i

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論