版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)一、課程設(shè)計(jì)的目的、要求和任務(wù)本課程設(shè)計(jì)是為了配合數(shù)據(jù)結(jié)構(gòu)與算法課程的開(kāi)設(shè), 通過(guò)設(shè)計(jì)完整的程序, 使學(xué)生掌握數(shù)據(jù)結(jié)構(gòu)的應(yīng)用、算法的編寫(xiě)等基本方法。1. 課程的目的( 1)使學(xué)生進(jìn)一步理解和掌握課堂上所學(xué)各種基本抽象數(shù)據(jù)類(lèi)型的邏輯結(jié)構(gòu)、 存儲(chǔ)結(jié)構(gòu)和操作實(shí)現(xiàn)算法,以及它們?cè)诔绦蛑械氖褂梅椒?。?2)使學(xué)生掌握軟件設(shè)計(jì)的基本內(nèi)容和設(shè)計(jì)方法,并培養(yǎng)學(xué)生進(jìn)行規(guī)范化軟件設(shè)計(jì)的能力。( 3)使學(xué)生掌握使用各種計(jì)算機(jī)資料和有關(guān)參考資料,提高學(xué)生進(jìn)行程序設(shè)計(jì)的基本能力;2. 課程的基本要求與任務(wù)( 1)鞏固和加深對(duì)數(shù)據(jù)結(jié)構(gòu)基本知識(shí)的理解,提高綜合運(yùn)用課程知識(shí)的能力。
2、( 2)培養(yǎng)學(xué)生自學(xué)參考書(shū)籍,查閱手冊(cè)、圖表和文獻(xiàn)資料的能力。( 3)通過(guò)實(shí)際課程設(shè)計(jì),初步掌握簡(jiǎn)單軟件的分析方法和設(shè)計(jì)方法。( 4)了解與課程有關(guān)的工程技術(shù)規(guī)范,能正確解釋和分析實(shí)驗(yàn)結(jié)果。( 5)題目具有足夠的工作量。二、課程設(shè)計(jì)的一般步驟( 1)劃分課程設(shè)計(jì)小組:由不超過(guò) 3 名同學(xué)組成一個(gè)課程設(shè)計(jì)小組,自愿組隊(duì)。( 2)選題與搜集資料:每個(gè)課程設(shè)計(jì)小組在參考選題中選擇課題,并保證每人一題。( 3)分析與概要設(shè)計(jì):根據(jù)搜集的資料,進(jìn)行程序功能與數(shù)據(jù)結(jié)構(gòu)分析, 并選擇合適的數(shù)據(jù)結(jié)構(gòu)、并在此基礎(chǔ)上進(jìn)行實(shí)現(xiàn)程序功能的算法設(shè)計(jì)。( 3)程序設(shè)計(jì):運(yùn)用掌握 C/C+語(yǔ)言編寫(xiě)程序,實(shí)現(xiàn)所有程序的各個(gè)模
3、塊功能。( 4)調(diào)試與測(cè)試:調(diào)試程序,并記錄測(cè)試情況。( 5)完成課程設(shè)計(jì)報(bào)告。( 6)驗(yàn)收與評(píng)分:指導(dǎo)教師對(duì)每個(gè)同學(xué)的開(kāi)發(fā)的系統(tǒng)進(jìn)行綜合驗(yàn)收。三、任務(wù)完成形式1 完整的軟件系統(tǒng)最終必須向指導(dǎo)老師提交完整的程序源代碼(.c和.cpp 以及 .h 為后綴的文件 ) 、數(shù)據(jù)文件以及使用說(shuō)明文件等。源代碼文件要特別注意編程規(guī)范、代碼風(fēng)格, 關(guān)鍵代碼需有合理的注釋?zhuān)?不含任何無(wú)用代碼;數(shù)據(jù)文件內(nèi)要求有一定數(shù)量的 “真實(shí)”數(shù)據(jù)(如對(duì)于記錄文件,需要有 5 條以上記錄);使用說(shuō)明文件的第一行, 需要給出設(shè)計(jì)者的學(xué)號(hào)、 姓名,后面為其它說(shuō)明。2 課程設(shè)計(jì)報(bào)告報(bào)告總體上主要包括以下幾個(gè)部分,封面、目錄、課程設(shè)
4、計(jì)報(bào)告正文、 使用說(shuō)明、參考文獻(xiàn)。其中課程設(shè)計(jì)報(bào)告正文 (12-20 頁(yè)之間, 8000 字以上 ) ,書(shū)寫(xiě)規(guī)范,應(yīng)包括如下 8 個(gè)部分:( 1)問(wèn)題描述:描述要求編程解決的問(wèn)題。( 2)功能要求:給出程序要達(dá)到的具體的要求。( 3)算法思想:描述解決相應(yīng)問(wèn)題算法的設(shè)計(jì)思想。( 4)模塊劃分:描述所設(shè)計(jì)程序的各個(gè)模塊 (即函數(shù))功能。( 5)數(shù)據(jù)結(jié)構(gòu):給出所使用的基本抽象數(shù)據(jù)類(lèi)型 , 所定義的具體問(wèn)題的數(shù)據(jù)類(lèi)型 , 以及新定義的抽象數(shù)據(jù)類(lèi)型。( 6)核心源程序:給出核心算法源代碼,要求有充分的注釋語(yǔ)句, 至少要注釋每個(gè)函數(shù)參數(shù)的含義和函數(shù)返回值的含義。( 7)測(cè)試數(shù)據(jù):設(shè)計(jì)測(cè)試數(shù)據(jù),或具體給出
5、測(cè)試數(shù)據(jù)。要求測(cè)試數(shù)據(jù)能全面地測(cè)試所設(shè)計(jì)程序的功能。( 8)測(cè)試情況與結(jié)果分析:給出程序的測(cè)試情況,并分析運(yùn)行結(jié)果 。四、成績(jī)?cè)u(píng)定標(biāo)準(zhǔn)學(xué)生成績(jī)以?xún)?yōu)、良、中、及格和不及格 5 個(gè)等級(jí)評(píng)定。 其中:( 1)學(xué)生編寫(xiě)的實(shí)際軟件和運(yùn)行結(jié)果,占總成績(jī) 45%;( 2)設(shè)計(jì)報(bào)告,占總成績(jī) 45%。( 3) 小組合作情況,占總成績(jī)的 10%。該部分由指導(dǎo)教師進(jìn)行現(xiàn)場(chǎng)口試,依據(jù)表現(xiàn)給分。只有程序驗(yàn)收通過(guò)后, 才能按以下方法核定本次課程設(shè)計(jì)的總成績(jī)。 以下幾點(diǎn)是決定總成績(jī)的關(guān)鍵因素:( 1) 考勤、紀(jì)律、實(shí)驗(yàn)室衛(wèi)生( 2) 工作量(代碼量、功能多少、難度)( 3) 所用到的關(guān)鍵技術(shù)( 4) 實(shí)用性、創(chuàng)新( 5)
6、 代碼書(shū)寫(xiě)規(guī)范性( 6) 程序界面美觀、新技術(shù)運(yùn)用得當(dāng)( 7) 個(gè)人答辯及小組合作情況以下幾種情形認(rèn)定為成績(jī)不合格:( 1) 未能獨(dú)立完成設(shè)計(jì)或概念不清;( 2) 有效代碼總量不足 1000 行( 不含自動(dòng)生成代碼);( 3) “管理系統(tǒng)”類(lèi)課題中使用現(xiàn)有數(shù)據(jù)庫(kù)系統(tǒng)如 access ,SQL Server 等;( 4) 課程設(shè)計(jì)報(bào)告或源代碼有抄襲行為;( 5) 3 次( 含) 以上點(diǎn)名未到;( 6) 不遵守實(shí)驗(yàn)室規(guī)章制度, 或不按要求完成實(shí)驗(yàn)室衛(wèi)生工作。五、附課程設(shè)計(jì)題目1)可另選題目,經(jīng)指導(dǎo)老師認(rèn)可后正式作為課程設(shè)計(jì)題目。2) 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)參考題目1. 文件查重系統(tǒng) 問(wèn)題描述 抄襲檢查越
7、來(lái)越成為一種重要的需求。 本問(wèn)題要求,從文件中讀入兩個(gè)文件, 比較其雷同字句的數(shù)目。并給出詳細(xì)對(duì)照。當(dāng)兩字符串中連續(xù)相同字符的個(gè)數(shù)達(dá)到一定數(shù)目(例如 20 字) 可視為雷同。 也可按照相同字符占句子長(zhǎng)度的比例來(lái)檢測(cè)雷同。 基本功能 統(tǒng)計(jì)不同文件的雷同字段數(shù),字段總長(zhǎng)度, 雷同字段比例。 測(cè)試數(shù)據(jù) 可自己定義。 實(shí)現(xiàn)提示 程序運(yùn)行后首先要求用戶(hù)給出制定的兩個(gè)文件。 高級(jí)要求 建立文件庫(kù),對(duì)新的文件檢測(cè)該文件與庫(kù)中哪些文件雷同,并給出相應(yīng)的比例。2. 課程設(shè)計(jì)案例管理系統(tǒng)收集各本課程的題目案例,每個(gè)案例包括問(wèn)題描述、基本功能要求、測(cè)試數(shù)據(jù)集、高級(jí)或擴(kuò)展要求、課題實(shí)現(xiàn)源代碼包、課程設(shè)計(jì)報(bào)告、評(píng)語(yǔ)等各
8、部分。 基本功能 (1). 案例導(dǎo)入或錄入 (2). 展示問(wèn)題 (3) 展示案例結(jié)果 (4) 案例查詢(xún) (5) 單問(wèn)題多解決方案入庫(kù)的處理3. 約瑟夫環(huán) 問(wèn)題描述 約瑟夫(Joeph)問(wèn)題的一種描述是: 編號(hào)為 1,2, ,n 的 n 個(gè)人按順時(shí)針?lè)较驀蝗?,每人持有一個(gè)密碼(正整數(shù))。一開(kāi)始任選一個(gè)正整數(shù)作為報(bào)數(shù)上限值 m,從第一個(gè)人開(kāi)始按順時(shí)針?lè)较蜃?1 開(kāi)始順序報(bào)數(shù), 報(bào)到 m時(shí)停止報(bào)數(shù)。 報(bào) m的人出列,將他的密碼作為新的 m值,從他在順時(shí)針?lè)较蛏系南乱粋€(gè)人開(kāi)始重新從 1 報(bào)數(shù),如此下去,直至所有人全部出列為止。 試設(shè)計(jì)一個(gè)程序求出出列順序。 基本要求 利用單向循環(huán)鏈表存儲(chǔ)結(jié)構(gòu)模擬此
9、過(guò)程, 按照出列的順序印出各人的編號(hào)。 測(cè)試數(shù)據(jù) m的初值為 20;密碼: 3,1,7,2,4,8,4(正確的結(jié)果應(yīng)為 6,1,4,7,2,3,5)。 實(shí)現(xiàn)提示 程序運(yùn)行后首先要求用戶(hù)指定初始報(bào)數(shù)上限值,然后讀取各人的密碼。設(shè)n30。*4. 長(zhǎng)整數(shù)運(yùn)算 問(wèn)題描述 設(shè)計(jì)一個(gè)程序?qū)崿F(xiàn)兩個(gè)任意長(zhǎng)的整數(shù)求和運(yùn)算。 基本要求 利用雙項(xiàng)循環(huán)鏈表實(shí)現(xiàn)長(zhǎng)整數(shù)的存儲(chǔ), 每個(gè)結(jié)點(diǎn)含一個(gè)整型變量。任何整型變量的范圍是- (215-1 )(215 -1 )。輸入和輸出形式:按中國(guó)對(duì)于長(zhǎng)整數(shù)的表示習(xí)慣, 每四位一組, 組間用逗號(hào)隔開(kāi)。 測(cè)試數(shù)據(jù) (1)0;0;應(yīng)輸出“ 0”。( 2 ) -2345,6789 ; -76
10、54,3211 ; 應(yīng) 輸 出 “-1,0000,0000 ”。( 3) -9999,9999 ;1,0000,0000,0000 ;應(yīng)輸出“ 9999,0000,0001 ”。( 4) 1,0001,000 ;-1,0001,0001 ;應(yīng)輸出“0”。( 5) 1,0001,0001 ; -1,0001,0000 ;應(yīng)輸出“1”。 實(shí)現(xiàn)提示 (1) 每個(gè)結(jié)點(diǎn)中可以存放的最大整數(shù)為215-1=32767,才能保證兩數(shù)相加不會(huì)溢出。但若這樣存,即相當(dāng)于按 32768 進(jìn)制數(shù)存,在十進(jìn)制數(shù)與 32768 進(jìn)制數(shù)之間的轉(zhuǎn)換十分不方便。 故可以在每個(gè)結(jié)點(diǎn)中僅存十進(jìn)制數(shù)的 4 位,即不超過(guò) 9999 的
11、非負(fù)整數(shù),整個(gè)鏈表視為萬(wàn)進(jìn)制數(shù)。(2) 可以利用頭結(jié)點(diǎn)數(shù)據(jù)域的符號(hào)代表長(zhǎng)整數(shù)的符號(hào)。用其絕對(duì)值表示元素結(jié)點(diǎn)數(shù)目。 相加過(guò)程中不要破壞兩個(gè)操作數(shù)鏈表。 兩操作數(shù)的頭指針存于指針數(shù)組中是簡(jiǎn)化程序結(jié)構(gòu)的一種方法。不能給長(zhǎng)整數(shù)位數(shù)規(guī)定上限。 選作內(nèi)容 修改上述程序,使它在整型量范圍是- (2n-1 )(2n-1 )的計(jì)算機(jī)上都能有效地運(yùn)行。其中, n 是由程序讀入的參量。 輸入數(shù)據(jù)的分組方法可以另行規(guī)定。5. 多項(xiàng)式鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及其代數(shù)運(yùn)算 問(wèn)題描述 設(shè)計(jì)并建立一個(gè)鏈?zhǔn)酱鎯?chǔ)分配系統(tǒng)來(lái)表示和操作多項(xiàng)式。為了避免對(duì)零和非零多項(xiàng)式進(jìn)行不同的處理,使用帶頭結(jié)點(diǎn)的循環(huán)鏈表。 為了充分利用多項(xiàng)式中不再使用的結(jié)點(diǎn),
12、 維護(hù)一個(gè)可用空間表 avail, 把不再使用的多項(xiàng)式的結(jié)點(diǎn)鏈入其中。當(dāng)需要一個(gè)新結(jié)點(diǎn)時(shí),就查看這個(gè)單鏈表 avail 。如果表非空, 那么可以使用它的一個(gè)結(jié)點(diǎn)。 只有當(dāng)該表為空時(shí),才使用動(dòng)態(tài)存儲(chǔ)分配來(lái)創(chuàng)建新結(jié)點(diǎn)。 基本要求 設(shè)計(jì)多項(xiàng)式的存儲(chǔ)結(jié)構(gòu),編寫(xiě)并測(cè)試下列函數(shù):a) get_node 和 ret_node ,從/ 向可用空間表申請(qǐng)和插入一個(gè)多項(xiàng)式結(jié)點(diǎn)。b) pread ,讀取一個(gè)多項(xiàng)式,并將其轉(zhuǎn)換成循環(huán)存儲(chǔ)表示。返回指向該多項(xiàng)式的頭結(jié)點(diǎn)的指針。c) pwrite ,輸出多項(xiàng)式, 采用能夠清楚顯示的形式。d)和 b。e)和 b。padd,計(jì)算 d=a+b。不改變psub,計(jì)算 d=a-b
13、。不改變aaf)pmult ,計(jì)算 d=a*b 。不改變 a 和 b。g) eval ,計(jì)算多項(xiàng)式在某點(diǎn) a 的值,其中 a 是一個(gè)浮點(diǎn)型常量。返回結(jié)果為浮點(diǎn)數(shù)。 h) perase ,把存儲(chǔ)表示為循環(huán)鏈表的多項(xiàng)式返還給可用空間表。 實(shí)現(xiàn)提示 為了進(jìn)一步簡(jiǎn)化加法算法, 把多項(xiàng)式的頭結(jié)點(diǎn)的指數(shù)域設(shè)為 -1 。*6. 稀疏矩陣的完全鏈表表示及其運(yùn)算 問(wèn)題描述 稀疏矩陣的每個(gè)結(jié)點(diǎn)包含 down,right ,row, col 和 value 五個(gè)域。用單獨(dú)一個(gè)結(jié)點(diǎn)表示一個(gè)非零項(xiàng),并將所有結(jié)點(diǎn)連接在一起, 形成兩個(gè)循環(huán)鏈表。使得第一個(gè)表即行表, 把所有結(jié)點(diǎn)按照行序(同一行內(nèi)按列序)用 right 域鏈
14、接起來(lái)。使得第二個(gè)表即列表, 把所有結(jié)點(diǎn)按照列序 (同一列內(nèi)按行序)用 down 鏈接起來(lái)。這兩個(gè)表共用一個(gè)頭結(jié)點(diǎn)。 另外,增加一個(gè)包含矩陣維數(shù)的結(jié)點(diǎn)。稀疏矩陣的這種存儲(chǔ)表示稱(chēng)為完全鏈表表式。實(shí)現(xiàn)一個(gè)完全鏈表系統(tǒng)進(jìn)行稀疏矩陣運(yùn)算, 并分析下列操作函數(shù)的計(jì)算時(shí)間和額外存儲(chǔ)空間的開(kāi)銷(xiāo)。(2)設(shè)計(jì)目的認(rèn)識(shí)和掌握稀疏矩陣的完全鏈表表示; 能夠建立并運(yùn)用這種存儲(chǔ)結(jié)構(gòu) (3) 基本要求 建立一個(gè)用戶(hù)友好、 菜單式系統(tǒng)進(jìn)行下列操作, 并使用合當(dāng)?shù)臏y(cè)試數(shù)據(jù)測(cè)試該系統(tǒng)。讀取一個(gè)稀疏矩陣建立其完全鏈表表示輸出一個(gè)稀疏矩陣的內(nèi)容刪除一個(gè)稀疏矩陣兩個(gè)稀疏矩陣相加 兩個(gè)稀疏矩陣相減 兩個(gè)稀疏矩陣相乘 稀疏矩陣的轉(zhuǎn)置 (
15、4)實(shí)現(xiàn)提示 鏈表上的操作。*7. 實(shí)現(xiàn)簡(jiǎn)單數(shù)字圖像處理 問(wèn)題描述 一幅圖像就是一個(gè)從位置集到顏色集的變換。 考慮二維圖像, 位置集實(shí)際上就是一個(gè)矩陣, 此時(shí)一幅圖像實(shí)際上就是一個(gè)內(nèi)容為顏色矩陣。 如果顏色為 0-255 間的整數(shù),表示該位置的灰度等級(jí), 0 為黑色, 255 為白色,此時(shí)的圖像稱(chēng)為灰度圖。而圖像的處理就是在該矩陣進(jìn)行相關(guān)計(jì)算。 一種常見(jiàn)的計(jì)算就是通過(guò)一點(diǎn)和周?chē)?8 個(gè)點(diǎn)的信息共同決定該點(diǎn)的新值: 如一點(diǎn)的新值為該點(diǎn)和周?chē)?8 點(diǎn)顏色值之和的均值, 這一操作可用下圖表示。顯然這樣處理后, 圖像會(huì)變得平滑, 因此稱(chēng)為平滑操作。顯然將上述操作變?yōu)橄聢D時(shí), 就成為銳化操作。要求實(shí)現(xiàn)若
16、干基本的圖像處理操作。 基本要求 熟悉 Windows下 BMP文件的格式,能夠?qū)崿F(xiàn)其讀寫(xiě) ( 只考慮灰度圖像 ) 。 實(shí)現(xiàn)圖像的平滑和銳化操作,其它處理操作選做。需用VC+作為語(yǔ)言。*8. 回文判斷 問(wèn)題描述 試寫(xiě)一個(gè)算法,判斷依次讀入的一個(gè)以 為結(jié)束符的字母序列,是否為形如序列 1&序列 2模式的字符序列。其中序列 1 和序列 2 中都不含字符 &,且序列 2 是序列 1 的逆序列。例如, a+b&b+a是屬該模式的字符序列,而 +&則不是。*9. 商品貨架管理 問(wèn)題描述 商品貨架可以看成一個(gè)棧, 棧頂商品的生產(chǎn)日期最早,棧底商品的生產(chǎn)日期最近。 上貨時(shí),需要倒貨架,以保證生產(chǎn)日期較近的商
17、品在較下的位置。 基本要求 針對(duì)一種特定商品,實(shí)現(xiàn)上述管理過(guò)程。 實(shí)現(xiàn)提示 用棧模擬貨架和周轉(zhuǎn)空間。 測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定。注意測(cè)試邊界數(shù)據(jù),如空棧。*10. 停車(chē)場(chǎng)管理 問(wèn)題描述 設(shè)停車(chē)場(chǎng)內(nèi)只有一個(gè)可停放 n 輛汽車(chē)的狹長(zhǎng)通道,且只有一個(gè)大門(mén)可供汽車(chē)進(jìn)出。 汽車(chē)在停車(chē)場(chǎng)內(nèi)按車(chē)輛到達(dá)時(shí)間的先后順序, 依次由北向南排列(大門(mén)在最南端, 最先到達(dá)的第一輛車(chē)停放在車(chē)場(chǎng)的最北端),若車(chē)場(chǎng)內(nèi)已停滿(mǎn) n 輛汽車(chē),則后來(lái)的汽車(chē)只能在門(mén)外的便道上等候, 一旦有車(chē)開(kāi)走,則排在便道上的第一輛車(chē)即可開(kāi)入; 當(dāng)停車(chē)場(chǎng)內(nèi)某輛車(chē)要離開(kāi)時(shí), 在它之后開(kāi)入的車(chē)輛必須先退出車(chē)場(chǎng)為它讓路,待該輛車(chē)開(kāi)出大
18、門(mén)外,其它車(chē)輛再按原次序進(jìn)入車(chē)場(chǎng), 每輛停放在車(chē)場(chǎng)的車(chē)在它離開(kāi)停車(chē)場(chǎng)時(shí)必須按它停留的時(shí)間長(zhǎng)短交納費(fèi)用。 試為停車(chē)場(chǎng)編制按上述要求進(jìn)行管理的模擬程序。 測(cè)試數(shù)據(jù) 設(shè) n=2, 輸入數(shù)據(jù)為:(A,1,5),(A,2,10),(D,1,15),(A,3, 20), (A,4,25),(A, 5,30),(D,2,35),(D,4,40),(E,0,0)。每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車(chē)“到達(dá)”或“離去”信息、汽車(chē)牌照號(hào)碼及到達(dá)或離去的時(shí)刻,其中, A表示到達(dá);D表示離去,E表示輸入結(jié)束。 基本要求 以棧模擬停車(chē)場(chǎng), 以隊(duì)列模擬車(chē)場(chǎng)外的便道, 按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。 每一組輸入數(shù)
19、據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車(chē)“到達(dá)”或“離去” 信息、汽車(chē)牌照號(hào)碼及到達(dá)或離去的時(shí)刻,對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出數(shù)據(jù)為:若是車(chē)輛到達(dá), 則輸出汽車(chē)在停車(chē)場(chǎng)內(nèi)或便道上的停車(chē)位置; 若是車(chē)離去; 則輸出汽車(chē)在停車(chē)場(chǎng)內(nèi)停留的時(shí)間和應(yīng)交納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))。棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表實(shí)現(xiàn)。 實(shí)現(xiàn)提示 需另設(shè)一個(gè)棧,臨時(shí)停放為給要離去的汽車(chē)讓路而從停車(chē)場(chǎng)退出來(lái)的汽車(chē), 也用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)。輸入數(shù)據(jù)按到達(dá)或離去的時(shí)刻有序。 棧中每個(gè)元素表示一輛汽車(chē), 包含兩個(gè)數(shù)據(jù)項(xiàng): 汽車(chē)的牌照號(hào)碼和進(jìn)入停車(chē)場(chǎng)的時(shí)刻。*11. 電梯運(yùn)行仿真程序 問(wèn)題描述 辦公大樓有若干層(例如,十層) ,每層有電梯,
20、同時(shí)有步行樓梯;全樓有若干部(例如,不多于 10 部)電梯同時(shí)供使用,電梯容量為 24 人,速度每上下一層需 5 秒,在某一層停下至少 15 秒。其運(yùn)行狀態(tài)可分:向上、向下、停止,當(dāng)前乘客數(shù),當(dāng)前所在層數(shù)。它設(shè)有一個(gè)“按鈕數(shù)組” ,例如第五層的按鈕按下,意味著有乘客在第 5 層到達(dá)目標(biāo)層,等等。在樓的每一層, 有電梯數(shù),有按鈕表示有人等待向上或向下, 由若干人在等待, 有若干電梯在本層停下,等等。在大樓中(包括進(jìn)出)的總?cè)藬?shù)不超過(guò) 500 人,每個(gè)人站在電梯前有個(gè)目標(biāo)層, 他有一個(gè)最大的忍受等待時(shí)間,因?yàn)樗梢赃x擇電梯或是步行走樓梯,等等。還有下面若干假設(shè): 在每個(gè)時(shí)間段要進(jìn)大樓的人數(shù)在 01
21、99 之間隨機(jī)取值;用電梯的每個(gè)人的目標(biāo)層在 110 之間取值;一個(gè)人在進(jìn)電梯或改走樓梯之前的等待時(shí)間在180360秒范圍內(nèi)隨機(jī)發(fā)生; 一個(gè)人到達(dá)目標(biāo)層后第二次再乘電梯中間的工作時(shí)間在4006600秒間隨機(jī)取值。 基本要求 編寫(xiě)一個(gè)程序,模擬辦公大樓中全部電梯的工作過(guò)程。這個(gè)仿真程序可以用來(lái)監(jiān)測(cè)系統(tǒng)運(yùn)行情況,改善大樓管理, 它也可以看成是一種游戲程序。屏幕顯示的布局設(shè)計(jì)12. 二叉樹(shù)及其遍歷 問(wèn)題描述 建立一棵二叉樹(shù), 并對(duì)其進(jìn)行遍歷 (先序、中序、后序),打印輸出遍歷結(jié)果。 基本要求 從鍵盤(pán)接受輸入(先序) ,以二叉鏈表作為存儲(chǔ)結(jié)構(gòu),建立二叉樹(shù)(以先序來(lái)建立) ,并采用遞歸算法對(duì)其進(jìn)行遍歷(
22、先序、中序、后序) ,將遍歷結(jié)果打印輸出。 測(cè)試數(shù)據(jù) ABC DEG F(其中表示空格字符)則輸出結(jié)果為:先序:ABCDEGF中序:CBEGDFA 后序: CGBFDBA 選作內(nèi)容 采用非遞歸算法實(shí)現(xiàn)二叉樹(shù)遍歷。2、打印二叉樹(shù)結(jié)構(gòu) 問(wèn)題描述 按凹入表形式橫向打印二叉樹(shù)結(jié)構(gòu), 即二叉樹(shù)的根在屏幕的最左邊, 二叉樹(shù)的左子樹(shù)在屏幕的下邊,二叉樹(shù)的右子樹(shù)在屏幕的上邊。 測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定。 注意測(cè)試邊界數(shù)據(jù),如空二叉樹(shù)。3、打印樹(shù)結(jié)構(gòu) 問(wèn)題描述 按凹入表形式打印樹(shù)形結(jié)構(gòu)。 測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定。 注意測(cè)試邊界數(shù)據(jù),如空樹(shù)。 實(shí)現(xiàn)提示 (1)利用樹(shù)的
23、先根遍歷方法;(2)利用結(jié)點(diǎn)的深度控制橫向位置。*13. 圖遍歷的演示 問(wèn)題描述 很多涉及圖上操作的算法都是以圖的遍歷操作為基礎(chǔ)的。試寫(xiě)一個(gè)程序, 演示無(wú)向圖的遍歷操作。 基本要求 以鄰接表為存儲(chǔ)結(jié)構(gòu), 實(shí)現(xiàn)連通無(wú)向圖的深度優(yōu)先和廣度優(yōu)先遍歷。以用戶(hù)指定的結(jié)點(diǎn)為起點(diǎn),分別輸出每種遍歷下的結(jié)點(diǎn)訪問(wèn)序列和相應(yīng)生成樹(shù)的邊集。 測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定。注意測(cè)試邊界數(shù)據(jù),如單個(gè)結(jié)點(diǎn)。 實(shí)現(xiàn)提示 設(shè)圖的結(jié)點(diǎn)不超過(guò) 30 個(gè),每個(gè)結(jié)點(diǎn)用一個(gè)編號(hào)表示(如果一個(gè)圖有 n 個(gè)結(jié)點(diǎn),則它們的編號(hào)分別為 1,2, , ,n )。通過(guò)輸入圖的全部邊輸入一個(gè)圖,每個(gè)邊為一個(gè)數(shù)對(duì), 可以對(duì)邊的輸入順
24、序作出某種限制。注意,生成樹(shù)的邊是有向邊,端點(diǎn)順序不能顛倒。*14. 學(xué)生選課系統(tǒng) 問(wèn)題描述 大學(xué)里實(shí)行學(xué)分制。 每門(mén)課都有一定的學(xué)分。 每個(gè)學(xué)生均需要修滿(mǎn)規(guī)定數(shù)量的課程才能畢業(yè)。 其中有些課程可以直接修讀, 有些課程需要一定的基礎(chǔ)知識(shí),必須在選了其他一些課程的基礎(chǔ)上才能修讀。例如,數(shù)據(jù)結(jié)構(gòu)必須在選修了程序設(shè)計(jì)基礎(chǔ)之后才能選修。我們稱(chēng)程序設(shè)計(jì)基礎(chǔ)是數(shù)據(jù)結(jié)構(gòu)的“先修課” 。假定每門(mén)課的直接先修課至多只有一門(mén), 兩門(mén)課可能存在相同的先修課。例如:課程號(hào)先修課號(hào)學(xué)分101211323403524上例中, 1 是 2 的先修課,即如果要選修2,則1 必定被選。 基本要求 學(xué)生不可能學(xué)完大學(xué)里開(kāi)設(shè)的所有
25、課程, 因此每個(gè)學(xué)生必須在入學(xué)時(shí)選定自己要學(xué)的課程。 每個(gè)學(xué)生所修的學(xué)分?jǐn)?shù)的下限是給定的。 現(xiàn)在編寫(xiě)一個(gè)“學(xué)生選課系統(tǒng)”,任意給定一種課程體系 (總課程數(shù),課程之間的修讀先后制約關(guān)系, 學(xué)生畢業(yè)要求修的課程學(xué)分?jǐn)?shù)) ,該系統(tǒng)能幫助學(xué)生找出一種選課方案, 使得他所選課程數(shù)目最少, 并獲得畢業(yè)所需學(xué)分, 并且必須滿(mǎn)足先修課程優(yōu)先的原則。具體功能如下:1. 將課程體系存放為課程體系文件CourseHierarchy.txt;2. 將課程體系文件CourseHierarchy.txt轉(zhuǎn)換左孩子右兄弟二叉樹(shù)表示; 3. 在此基礎(chǔ)上對(duì)二叉樹(shù)進(jìn)行先序、中序、后序遍歷。 4. 給出選課方案。*15. 設(shè)計(jì)一個(gè)
26、哈夫曼碼的編/ 譯碼系統(tǒng)基本要求該系統(tǒng)應(yīng)具有以下功能:(1)I :初始化( Initialization)。從終端讀入字符集大小n,以及 n 個(gè)字符和 n 個(gè)權(quán)值,建立哈夫曼樹(shù),并將它存于文件hfmTree中。( 2) E:編碼( Encoding )。利用已建好的哈夫曼樹(shù)(如不在內(nèi)存,則從文件 hfmTree中讀入),對(duì)文件 ToBeTran 中的正文進(jìn)行編碼,然后將結(jié)果存入文件 CodeFile 中。(3) D:譯碼( Decoding )。利用已建好的哈夫曼樹(shù)將文件 CodeFile 中的代碼進(jìn)行譯碼,結(jié)果存入文件TextFile中。( 4) P:打印代碼文件( Print )。將文件
27、CodeFile 以緊湊格式顯示在終端上,每行 50個(gè)代碼。同時(shí)將此字符形式的編碼文件寫(xiě)入文件 CodePrin 中。( 5) T:打印哈夫曼樹(shù)( Tree printing )。將已在 中的哈夫曼樹(shù)以直觀的方式(樹(shù)或凹入表形式)顯示在終端上, 同時(shí)將此字符形式的哈夫曼樹(shù)寫(xiě)入文件TreePrint中。 實(shí)現(xiàn)提示 (1) 編碼結(jié)果以文本方式存儲(chǔ)在文件 CodeFile 中。( 2) 用戶(hù)界面可以設(shè)計(jì)為“菜單”方式:顯示上述功能符號(hào),再加上“ Q”,表示退出運(yùn)行 Quit 。請(qǐng)用戶(hù)鍵入一個(gè)選擇功能符。此功能執(zhí)行完畢后再顯示此菜單, 直至某次用戶(hù)選擇了“Q”為止。(3)在程序的一次執(zhí)行過(guò)程中,第一次
28、執(zhí)行I ,D或 C 命令之后,哈夫曼樹(shù)已經(jīng)在內(nèi)存了,不必再讀入。每次執(zhí)行中不一定執(zhí)行 I命令,因?yàn)槲募fmTree 可能早已建好。 測(cè)試數(shù)據(jù) ( 1)利用下面這道題中的數(shù)據(jù)調(diào)試程序。某系統(tǒng)在通信聯(lián)絡(luò)中只可能出現(xiàn)八種字符, 其概率分別為 0.25 ,0.29 ,0.07 ,0.08 ,0.14 ,0.23 ,0.03 ,0.11 ,試設(shè)計(jì)哈夫曼編碼。( 2)用下表給出的字符集和頻度的實(shí)際統(tǒng)計(jì)數(shù)據(jù)建立哈夫曼樹(shù),并實(shí)現(xiàn)以下報(bào)文的編碼和譯碼:“THIS PROGRAMIS MY FAVORITE”。16. 校園導(dǎo)游咨詢(xún)系統(tǒng) 問(wèn)題描述 設(shè)計(jì)一個(gè)校園導(dǎo)游程序, 為來(lái)訪的客人提供信息查詢(xún)服務(wù)。 基本要求
29、(1)設(shè)計(jì)學(xué)校的校園平面圖,所含景點(diǎn)不少于10 個(gè),以圖中頂點(diǎn)表示校內(nèi)各景點(diǎn),存放景點(diǎn)名稱(chēng)、代號(hào)、簡(jiǎn)介等信息,以邊表示路徑,存放路徑長(zhǎng)度等相關(guān)信息。(2)為來(lái)訪客人提供圖中任意景點(diǎn)相關(guān)信息的查詢(xún); (3)為來(lái)訪客人提供從校門(mén)口到圖中任意景點(diǎn)的問(wèn)路查詢(xún); *17. 推銷(xiāo)員問(wèn)題: 問(wèn)題描述 有一個(gè)推銷(xiāo)員要到 N(N0)個(gè)城市去推銷(xiāo)產(chǎn)品,他從某個(gè)城市出發(fā),經(jīng)歷每個(gè)城市,且每個(gè)城市只能去一次, 然后回到初始城市,以距離作為代價(jià), 他希望找出一個(gè)最佳路徑。這 N個(gè)城市相互都有道路可通,但距離各不相同,城市個(gè)數(shù)和各個(gè)城市的相通距離可由學(xué)生自己設(shè)定。 基本要求 (1)可以輸入城市個(gè)數(shù)(不少于10 個(gè))、輸入
30、城市信息和城市之間的距離(為整數(shù)) ; (2)按照輸入出發(fā)城市, 根據(jù)城市的距離最短給出路徑選擇。 (3)界面要求:有合理的提示和人機(jī)交互。 *18. 全國(guó)交通咨詢(xún)模擬 問(wèn)題描述 處于不同目的的旅客對(duì)交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的時(shí)間盡可能的短, 出門(mén)旅游的游客則期望旅費(fèi)盡可能省,而老年旅客則要求中轉(zhuǎn)次數(shù)最少。編制一個(gè)全國(guó)城市間的交通咨詢(xún)程序, 為旅客提供最優(yōu)決策的交通咨詢(xún)。 基本要求 ( 1)提供對(duì)城市信息進(jìn)行編輯(如:添加或刪除)的功能;( 2)城市之間有兩種交通工具:火車(chē)或飛機(jī),提供對(duì)全國(guó)城市交通圖和列車(chē)時(shí)刻表及飛機(jī)航班表進(jìn)行編輯的功能。 (信息的輸入方式可以是
31、文件輸入和鍵盤(pán)輸入兩種方式)( 3)提供兩種最優(yōu)決策:最快到達(dá)和最省錢(qián)到達(dá)。(選作:旅途中轉(zhuǎn)次數(shù)最少的最優(yōu)決策)( 4)旅途中耗費(fèi)的總時(shí)間應(yīng)該包括中轉(zhuǎn)站的等候時(shí)間。(5)咨詢(xún)以用戶(hù)和計(jì)算機(jī)的對(duì)話方式進(jìn)行。a)由用戶(hù)輸入起始站、終點(diǎn)站、最優(yōu)決策原則和交通工具;b)輸出信息:最快需要多長(zhǎng)時(shí)間才能到達(dá)或者最少需要多少旅費(fèi)才能到達(dá),并詳細(xì)說(shuō)明依次于何時(shí)乘坐哪一趟列車(chē)或哪一次班機(jī)到何地。19. 關(guān)鍵路徑問(wèn)題 問(wèn)題描述 設(shè)計(jì)一個(gè)程序求出完成整項(xiàng)工程至少需要多少時(shí)間以及整項(xiàng)工程中的關(guān)鍵活動(dòng)。 基本要求( 1)對(duì)一個(gè)描述工程的 AOE網(wǎng),應(yīng)判斷其是否能夠順利進(jìn)行。( 2)若該工程能順利進(jìn)行,輸出完成整項(xiàng)工程至
32、少需要多少時(shí)間, 以及每一個(gè)關(guān)鍵活動(dòng)所依附的兩個(gè)頂點(diǎn)、最早發(fā)生時(shí)間、 最遲發(fā)生時(shí)間。 *20. 二叉排序樹(shù) 問(wèn)題描述 從鍵盤(pán)讀入一組數(shù)據(jù), 建立二叉排序樹(shù)并對(duì)其進(jìn)行查找、遍歷、格式化打印等有關(guān)操作。 基本要求 建立二叉排序樹(shù)并對(duì)其進(jìn)行查找, 包括成功和不成功兩種情況,并給出查找長(zhǎng)度。 測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定。 注意測(cè)試邊界數(shù)據(jù)。 選作內(nèi)容 實(shí)現(xiàn)二叉排序樹(shù)的插入、刪除操作。*21. 內(nèi)部排序算法比較 問(wèn)題描述 各種內(nèi)部排序算法的時(shí)間復(fù)雜度分析結(jié)果只給出了算法執(zhí)行時(shí)間的階, 或大概執(zhí)行時(shí)間。 試通過(guò)隨機(jī)的數(shù)據(jù)比較各算法的關(guān)鍵字比較次數(shù)和關(guān)鍵字移動(dòng)次數(shù),以取得直觀感受。 基本
33、要求 ( 1)對(duì)以下 10 種常用的內(nèi)部排序算法進(jìn)行比較:直接插入排序;折半折入排序;二路插入排序;希爾排序;起泡排序;快速排序;簡(jiǎn)單選擇排序;堆排序;歸并排序;基數(shù)排序。( 2)待排序表的表長(zhǎng)不少于 100;其中的數(shù)據(jù)要用偽隨機(jī)數(shù)產(chǎn)生程序產(chǎn)生; 至少要用 5 組不同的輸入數(shù)據(jù)作比較; 比較的指標(biāo)為有關(guān)鍵字參加的比較次數(shù)和關(guān)鍵字移動(dòng)次數(shù) (關(guān)鍵字交換計(jì)為3 次移動(dòng))。 測(cè)試數(shù)據(jù) 由隨機(jī)產(chǎn)生器決定。 實(shí)現(xiàn)提示 主要工作是設(shè)法在程序中適當(dāng)?shù)牡胤讲迦胗?jì)數(shù)操作。程序還可以包括計(jì)算幾組數(shù)據(jù)得出結(jié)果波動(dòng)大小的解釋。注意分塊調(diào)試的方法。 選作內(nèi)容 對(duì)不同的輸入表長(zhǎng)做試驗(yàn), 觀察檢查兩個(gè)指標(biāo)相關(guān)于表長(zhǎng)的變化關(guān)
34、系。還可以對(duì)穩(wěn)定性做驗(yàn)證。22. 統(tǒng)計(jì)成績(jī) 問(wèn)題描述 給出 n 個(gè)學(xué)生的 m門(mén)考試的成績(jī)表, 每個(gè)學(xué)生的信息由學(xué)號(hào)、 姓名以及各科成績(jī)組成。 對(duì)學(xué)生的考試成績(jī)進(jìn)行有關(guān)統(tǒng)計(jì),并打印統(tǒng)計(jì)表。 基本要求 ( 1) 按總數(shù)高低次序,打印出名次表,分?jǐn)?shù)相同的為同一名次;( 2) 按名次打印出每個(gè)學(xué)生的學(xué)號(hào)、姓名、總分以及各科成績(jī)。 測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定。 注意測(cè)試邊界數(shù)據(jù)。 選作內(nèi)容 對(duì)各科成績(jī)?cè)O(shè)置不同的權(quán)值。*23. 運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng) 問(wèn)題描述 假設(shè)參加運(yùn)動(dòng)會(huì)有 n 個(gè)系,系編號(hào)為 1 n。比賽分成 m個(gè)男子項(xiàng)目, 和 w個(gè)女子項(xiàng)目。 項(xiàng)目編號(hào)為男子 1 m,女子 m+1 m+
35、w。不同的項(xiàng)目取前五名或前三名積分; 取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為: 5、3、2;哪些取前五名或前三名由學(xué)生自己設(shè)定。(m=10,n=15) 基本要求 系統(tǒng)功能要求:(1)可以輸入各個(gè)項(xiàng)目的前三名或前五名的成績(jī); (2)能統(tǒng)計(jì)各系總分;( 3)可以按系編號(hào)、系總分、男女團(tuán)體總分排序輸出;( 4)可以按系編號(hào)查詢(xún)學(xué)校某個(gè)項(xiàng)目的情況;可以按項(xiàng)目編號(hào)查詢(xún)?nèi)〉们叭蚯拔迕南怠?實(shí)現(xiàn)提示 ( 1)輸入數(shù)據(jù)形式和范圍:系或運(yùn)行項(xiàng)目可以用 20 以?xún)?nèi)的整數(shù)表示;也可以直接輸入系的名稱(chēng)或運(yùn)動(dòng)項(xiàng)目的名稱(chēng);( 2)界面要求:有合理的提示,每個(gè)功能可以設(shè)立菜單,根據(jù)提示,可以完成相
36、關(guān)的功能要求。( 3)存儲(chǔ)結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計(jì),但是要求運(yùn)動(dòng)會(huì)的相關(guān)數(shù)據(jù)要存儲(chǔ)在數(shù)據(jù)文件中,并在上交資料中說(shuō)明所用到的存儲(chǔ)結(jié)構(gòu);( 4)測(cè)試數(shù)據(jù):測(cè)試數(shù)據(jù)及測(cè)試結(jié)果請(qǐng)?jiān)谏辖坏馁Y料中寫(xiě)明。 *24. 比較常用排序算法 基本要求 直接插入排序、希爾排序、直接選擇排序、堆排序、起泡排序、快速排序。(1)隨機(jī)生成一組待排序數(shù)據(jù), 個(gè)數(shù)不少于 100 個(gè);(2)比較各種排序算法對(duì)同一組數(shù)據(jù)排序所需要的關(guān)鍵字比較次數(shù)和關(guān)鍵字移動(dòng)次數(shù), 至少使用 5 組數(shù)據(jù)進(jìn)行比較;(3)對(duì)比較結(jié)果進(jìn)行簡(jiǎn)單分析。*25. 學(xué)生成績(jī)管理系統(tǒng)問(wèn)題描述:該系統(tǒng)實(shí)現(xiàn)對(duì)若干個(gè)大學(xué)生的學(xué)習(xí)成績(jī)進(jìn)行管理。至少包括以下信
37、息:學(xué)號(hào)、姓名、科目、成績(jī),學(xué)期。學(xué)期取值范圍可為 1-8 。功能要求:1使用中文菜單,界面設(shè)計(jì)和用戶(hù)輸入輸出要人性化些;2. 將學(xué)生信息保存在文本文檔中,具體對(duì)學(xué)生信息進(jìn)行插入刪除查詢(xún)操作時(shí), 將保存在文本文檔中的學(xué)生信息提取出來(lái), 保存在自己定義的數(shù)據(jù)結(jié)構(gòu)中, 然后再對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作, 所有操作完成, 或者在相應(yīng)的命令后,再將學(xué)生信息保存到文本文檔中。3具有數(shù)據(jù)輸入功能,輸入的數(shù)據(jù)能最終保存在文件中;4具有數(shù)據(jù)刪除功能,能最終從文件中刪除;5排序功能,根據(jù)自己設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)排序算法6具有多種查詢(xún)(如按學(xué)號(hào)查詢(xún)、按姓名查詢(xún)、按成績(jī)查詢(xún)等)及輸出功能;7其它功能(如各種統(tǒng)計(jì),統(tǒng)計(jì)每個(gè)
38、學(xué)生所有課程的平均分, 統(tǒng)計(jì)某門(mén)課程所有學(xué)生的平均分等等)8學(xué)生信息的修改(比如修改學(xué)生姓名,修改學(xué)生某門(mén)課程的成績(jī))說(shuō)明:( 1)功能各方面越完善越好( 2)自定義的數(shù)據(jù)結(jié)構(gòu)可以使用數(shù)組,鏈表,樹(shù)等,可以使用多種數(shù)據(jù)結(jié)構(gòu)來(lái)存放數(shù)據(jù), 然后在其上使用不同的排序算法。( 3)若用數(shù)組,必須動(dòng)態(tài)分配空間(文本文件中最好有一行表示學(xué)生人數(shù))算法要點(diǎn):把問(wèn)題看成是對(duì)線性表的操作。 將學(xué)生成績(jī)組織成順序表, 則登記學(xué)生成績(jī)即是建立順序表操作;查詢(xún)學(xué)生成績(jī)、插入學(xué)生成績(jī)、刪除學(xué)生成績(jī)即是在順序表中進(jìn)行查找、 插入和刪除操作。 *26. 簡(jiǎn)易客房管理系統(tǒng)問(wèn)題描述:該系統(tǒng)能簡(jiǎn)單實(shí)現(xiàn)對(duì)客棧的住宿情況進(jìn)行管理。至
39、少包括以下信息:房號(hào)、房型、單價(jià)(每床) 、已住人數(shù);住客姓名、性別、年齡、身份、身份證號(hào)碼,房號(hào),床號(hào),入住日期、入住時(shí)間、離店日期、離店時(shí)間。這些信息應(yīng)存放在兩個(gè)文件中,分別是客房信息文件、 住客信息文件。“房型”可取值 1-3 ,分別表示單人間、雙人間、通鋪(可以住很多人的房間)功能要求:1具有建立數(shù)據(jù)文件 ( 客房信息文件、 住客信息文件 ) 功能;2具有數(shù)據(jù)輸入功能;3具有數(shù)據(jù)修改功能;4具有數(shù)據(jù)刪除功能;5能查詢(xún)(查找)一些基本信息(如按房號(hào)查詢(xún)、按姓名查詢(xún)、空余客房查詢(xún)等) ;6具有多種統(tǒng)計(jì)功能(要求有一定的實(shí)用性)(如某客房當(dāng)前有那些空床、 某住客應(yīng)付多少費(fèi)用、某天住店總?cè)藬?shù)和
40、總收入等)7能具有排序功能(比如在查詢(xún)所有的客房信息時(shí),能根據(jù)房間價(jià)格進(jìn)行排序,方便客人挑選房間等等)說(shuō)明:( 1)功能各方面越完善越好( 2)自定義的數(shù)據(jù)結(jié)構(gòu)可以使用數(shù)組,鏈表,樹(shù)等,可以使用多種數(shù)據(jù)結(jié)構(gòu)來(lái)存放數(shù)據(jù), 然后在其上使用不同的排序算法。( 3)若用數(shù)組,必須動(dòng)態(tài)分配空間(文本文件中最好有一行來(lái)表示數(shù)組應(yīng)該有多大, 這樣便于動(dòng)態(tài)分配空間) *27. 人事檔案管理系統(tǒng)問(wèn)題描述:該系統(tǒng)能簡(jiǎn)單實(shí)現(xiàn)對(duì)人事檔案的管理。該系統(tǒng)包括 :人員基本情況管理、 工資管理和考勤管理等幾個(gè)方面的功能。用戶(hù)通過(guò)輸入工資、考勤、職工履歷等基本信息, 由系統(tǒng)自行生成相應(yīng)的統(tǒng)計(jì)數(shù)據(jù)以供用戶(hù)查詢(xún),能對(duì)這些基本信息進(jìn)
41、行更新和刪除。至少包括以下信息:人員履歷表:?jiǎn)T工編號(hào),員工姓名,性別,年齡,部門(mén),職位,受教育年限職工工資表:?jiǎn)T工編號(hào),基本工資,缺勤扣發(fā)工資,扣稅,實(shí)發(fā)工資月考勤登記表:?jiǎn)T工編號(hào),月缺勤天數(shù)注:假設(shè)每個(gè)員工每天缺勤扣發(fā)工資的多少跟其基本工資存在一定關(guān)系,比如是該基本工資的 20 分之一;假設(shè)扣稅金額 (基本工資缺勤扣發(fā)工資 2000)10,而若基本工資缺勤扣發(fā)工資 2000 的值小于 2000 則扣稅金額為 0 功能要求:1具有建立數(shù)據(jù)文件 ( 人員履歷表文件、 職工工資表文件、月考勤登記表 ) 功能;2具有數(shù)據(jù)輸入功能;3具有數(shù)據(jù)修改功能;4具有數(shù)據(jù)刪除功能;5能查詢(xún)(查找)一些基本信息(
42、如按員工編號(hào)查詢(xún)、按員工姓名和部門(mén)組合查詢(xún)等, 如生成各部門(mén)員工花名冊(cè));6具有多種統(tǒng)計(jì)功能(要求有一定的實(shí)用性)(如不同部門(mén)的員工平均工資比較 (除了用數(shù)字表示外,也可以用星號(hào)畫(huà)圖的方式來(lái)直觀的表示);不同性別員工工資比較;某部門(mén)內(nèi)部,不同職位員工工資比較; 不同受教育水平人的平均工資比較;部門(mén)最高實(shí)發(fā)工資等等)7具有排序功能(比如將各部門(mén)職工工資平均值進(jìn)行排序,將部門(mén)內(nèi)部職工工資進(jìn)行排序等等)各個(gè)功能模塊簡(jiǎn)要敘述 (具體實(shí)現(xiàn)時(shí), 并不局限于這些功能,越完善越好)人員基本情況管理:提供對(duì)”人員履歷表”數(shù)據(jù)輸入、組合條件查詢(xún)、統(tǒng)計(jì)功能;職工工資管理:提供對(duì)”職工工資表”數(shù)據(jù)的輸入、查詢(xún)、按統(tǒng)計(jì)
43、、顯示功能 , 完成每月對(duì)“職工工資表”數(shù)據(jù)的月統(tǒng)計(jì) , 以此生成“職工工資總額構(gòu)成情況表”實(shí)現(xiàn)該表的查詢(xún)、 顯示功能。職工考勤管理: 提供對(duì)各部門(mén)“月考勤登記表”數(shù)據(jù)的錄入、查詢(xún)、統(tǒng)計(jì)功能;說(shuō)明:( 1)功能各方面越完善越好( 2)自定義的數(shù)據(jù)結(jié)構(gòu)可以使用數(shù)組,鏈表,樹(shù)等,可以使用多種數(shù)據(jù)結(jié)構(gòu)來(lái)存放數(shù)據(jù), 然后在其上使用不同的排序算法。( 3)若用數(shù)組,必須動(dòng)態(tài)分配空間(文本文件中最好有一行來(lái)表示數(shù)組應(yīng)該有多大, 這樣便于動(dòng)態(tài)分配空間) *28. 進(jìn)銷(xiāo)存貨物管理系統(tǒng)問(wèn)題描述:該系統(tǒng)能進(jìn)行簡(jiǎn)單的貨物管理, 進(jìn)貨,銷(xiāo)售貨物,退貨等管理至少包括如下信息:貨物標(biāo)號(hào),貨物名稱(chēng),貨物產(chǎn)地,入庫(kù)價(jià)格,入庫(kù)
44、時(shí)間,現(xiàn)存貨物數(shù)量,已經(jīng)銷(xiāo)售數(shù)量,銷(xiāo)售平均單價(jià)注:每次銷(xiāo)售后, 都需要對(duì)現(xiàn)存貨物數(shù)量進(jìn)行更新,對(duì)已銷(xiāo)售數(shù)量進(jìn)行更新, 也需要對(duì)銷(xiāo)售平均單價(jià)進(jìn)行更新功能要求:1具有建立數(shù)據(jù)文件 ( 貨物管理表 ) 的功能;2具有數(shù)據(jù)輸入功能;3具有數(shù)據(jù)修改功能;4具有數(shù)據(jù)刪除功能(當(dāng)一些已經(jīng)過(guò)時(shí)陳舊的商品被特價(jià)處理后,將其刪除,不再進(jìn)貨) ;5能查詢(xún)(查找)一些基本信息(如能查詢(xún)剩余件數(shù)小于某個(gè)特定值的商品,以便于及時(shí)進(jìn)貨);6具有多種統(tǒng)計(jì)功能(要求有一定的實(shí)用性)(如統(tǒng)計(jì)每種貨物是否有盈利 (將銷(xiāo)售平均單價(jià)跟入庫(kù)價(jià)格進(jìn)行比較) ,所有貨物的盈利或虧損等等)7具有排序功能(比如對(duì)貨物盈利水平進(jìn)行排序比較等等)說(shuō)
45、明:( 1)功能各方面越完善越好( 2)自定義的數(shù)據(jù)結(jié)構(gòu)可以使用數(shù)組,鏈表,樹(shù)等,可以使用多種數(shù)據(jù)結(jié)構(gòu)來(lái)存放數(shù)據(jù), 然后在其上使用不同的排序算法。( 3)若用數(shù)組,必須動(dòng)態(tài)分配空間(文本文件中最好有一行來(lái)表示數(shù)組應(yīng)該有多大, 這樣便于動(dòng)態(tài)分配空間) *29. 圖書(shū)管理系統(tǒng)問(wèn)題描述:該系統(tǒng)能進(jìn)行簡(jiǎn)單的圖書(shū)管理功能至少包括如下信息:圖書(shū)編號(hào),圖書(shū)名稱(chēng),作者,出版社,總共冊(cè)數(shù),在館冊(cè)數(shù),現(xiàn)存地址,借閱次數(shù)注:現(xiàn)存地址是假設(shè)圖書(shū)館有多個(gè)書(shū)庫(kù), 不同種類(lèi)的書(shū)存放于不同的地方功能要求:1具有建立數(shù)據(jù)文件 ( 圖書(shū)信息 ) 的功能;2具有數(shù)據(jù)輸入功能;3具有數(shù)據(jù)修改功能(借書(shū)或者還書(shū)都需要修改圖書(shū)數(shù)量信息);4具有數(shù)據(jù)刪除功能(當(dāng)圖書(shū)因?yàn)槟甏眠h(yuǎn),或者遺失,也許需要對(duì)其
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度鋼材品牌授權(quán)及合作推廣合同3篇
- 二零二五版戶(hù)外燈具打膠制作合同范本3篇
- 二零二五版建筑材料租賃與資金支付合同3篇
- 二零二五版消防管道材料買(mǎi)賣(mài)合同范本3篇
- 二零二五版空壓機(jī)租賃與租賃期滿(mǎn)設(shè)備回收合同3篇
- 二零二五版文化旅游項(xiàng)目開(kāi)發(fā)合作購(gòu)銷(xiāo)合同文化融合3篇
- 二零二五版股票期權(quán)授予及解約條款合同書(shū)3篇
- 二零二五年度電腦系統(tǒng)集成與售后全面保修合同3篇
- 2025年廠房維修保養(yǎng)與安全責(zé)任合同3篇
- 2025版冷凍食品儲(chǔ)藏租賃合同范本3篇
- 霧化吸入療法合理用藥專(zhuān)家共識(shí)(2024版)解讀
- 寒假作業(yè)(試題)2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué) 人教版(十二)
- 銀行信息安全保密培訓(xùn)
- 市政道路工程交通疏解施工方案
- 2024年部編版初中七年級(jí)上冊(cè)歷史:部分練習(xí)題含答案
- 拆遷評(píng)估機(jī)構(gòu)選定方案
- 床旁超聲監(jiān)測(cè)胃殘余量
- 上海市松江區(qū)市級(jí)名校2025屆數(shù)學(xué)高一上期末達(dá)標(biāo)檢測(cè)試題含解析
- 綜合實(shí)踐活動(dòng)教案三上
- 《新能源汽車(chē)電氣設(shè)備構(gòu)造與維修》項(xiàng)目三 新能源汽車(chē)照明與信號(hào)系統(tǒng)檢修
- 2024年新課標(biāo)《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)》測(cè)試題(附含答案)
評(píng)論
0/150
提交評(píng)論