數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)_第1頁
數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)_第2頁
數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余12頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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ì)的目的、要求和任務(wù)通過設(shè)計(jì)完整的程序,使學(xué)生本課程設(shè)計(jì)是為了配合數(shù)據(jù)結(jié)構(gòu)與算法課程的開設(shè),掌握數(shù)據(jù)結(jié)構(gòu)的應(yīng)用、算法的編寫等基本方法。1.課程的目的(1)使學(xué)生進(jìn)一步理解和掌握課堂上所學(xué)各種基本抽象數(shù)據(jù)類型的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和 操作實(shí)現(xiàn)算法,以及它們?cè)诔绦蛑械氖褂梅椒?。?)使學(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)培養(yǎng)學(xué)生自學(xué)參考書籍,查閱手冊(cè)

2、、圖表和文獻(xiàn)資料的能力。(3)通過實(shí)際課程設(shè)計(jì),初步掌握簡(jiǎn)單軟件的分析方法和設(shè)計(jì)方法。(4)了解與課程有關(guān)的工程技術(shù)規(guī)范,能正確解釋和分析實(shí)驗(yàn)結(jié)果。(5)題目具有足夠的工作量。二、課程設(shè)計(jì)的一般步驟(1)劃分課程設(shè)計(jì)小組:由不超過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+語言編寫程序,實(shí)現(xiàn)所有程序的各個(gè)模塊功能。( 4)調(diào)試與測(cè)試:調(diào)試程序,并記錄測(cè)試情況。

3、( 5)完成課程設(shè)計(jì)報(bào)告。(6)驗(yàn)收與評(píng)分:指導(dǎo)教師對(duì)每個(gè)同學(xué)的開發(fā)的系統(tǒng)進(jìn)行綜合驗(yàn)收。三、任務(wù)完成形式1 完整的軟件系統(tǒng)最終必須向指導(dǎo)老師提交完整的程序源代碼(.C和.cpp以及.h為后綴的文件)、數(shù)據(jù)文件以及使用說明文件等。源代碼文件要特別注意編程規(guī)范、代碼風(fēng)格,關(guān)鍵代碼需有合理的注釋, 不含任何無用代碼;數(shù)據(jù)文件內(nèi)要求有一定數(shù)量的“真實(shí)”數(shù)據(jù)(如對(duì)于記錄文件,需要有5條以上記錄); 使用說明文件的第一行,需要給出設(shè)計(jì)者的學(xué)號(hào)、姓名,后面為其它說明。2 課程設(shè)計(jì)報(bào)告 報(bào)告總體上主要包括以下幾個(gè)部分,封面、目錄、課程設(shè)計(jì)報(bào)告正文、使用說明、參考 文獻(xiàn)。其中課程設(shè)計(jì)報(bào)告正文 (12-20 頁之

4、間, 8000 字以上 ),書寫規(guī)范,應(yīng)包括如下 8 個(gè)部 分:(1)問題描述:描述要求編程解決的問題。(2)功能要求:給出程序要達(dá)到的具體的要求。(3)算法思想:描述解決相應(yīng)問題算法的設(shè)計(jì)思想。(4)模塊劃分:描述所設(shè)計(jì)程序的各個(gè)模塊(即函數(shù))功能。(5) 數(shù)據(jù)結(jié)構(gòu): 給出所使用的基本抽象數(shù)據(jù)類型,所定義的具體問題的數(shù)據(jù)類型 ,以及新定義 的抽象數(shù)據(jù)類型。(6)核心源程序:給出核心算法源代碼,要求有充分的注釋語句,至少要注釋每個(gè)函數(shù)參 數(shù)的含義和函數(shù)返回值的含義。(7)測(cè)試數(shù)據(jù):設(shè)計(jì)測(cè)試數(shù)據(jù),或具體給出測(cè)試數(shù)據(jù)。要求測(cè)試數(shù)據(jù)能全面地測(cè)試所設(shè)計(jì) 程序的功能。(8) 測(cè)試情況與結(jié)果分析:給出程序

5、的測(cè)試情況,并分析運(yùn)行結(jié)果。四、成績(jī)?cè)u(píng)定標(biāo)準(zhǔn)學(xué)生成績(jī)以優(yōu)、良、中、及格和不及格 5 個(gè)等級(jí)評(píng)定。 其中:(1)學(xué)生編寫的實(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)收通過后, 才能按以下方法核定本次課程設(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)代碼書寫規(guī)范性6)程序界面美觀、新技術(shù)運(yùn)用得當(dāng)7)個(gè)人答辯及小組合作情況以下幾種情形認(rèn)定為成績(jī)不合格:1)未能獨(dú)立完成設(shè)計(jì)或概念

6、不清;2)有效代碼總量不足 1000 行 (不含自動(dòng)生成代碼 );(3)"管理系統(tǒng)”類課題中使用現(xiàn)有數(shù)據(jù)庫系統(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)問題描述 抄襲檢查越來越成為一種重要的需求。 本問題要求, 從文件中讀入兩個(gè)文件, 比較其雷同字 句的數(shù)目。并給出詳細(xì)對(duì)照。當(dāng)兩字符串中連續(xù)相同字符的個(gè)數(shù)達(dá)到一定數(shù)目(例如 20 字 )可視為雷

7、同。 也可按照相同字符占句子長(zhǎng)度的比例來檢測(cè)雷同。基本功能 統(tǒng)計(jì)不同文件的雷同字段數(shù),字段總長(zhǎng)度,雷同字段比例。測(cè)試數(shù)據(jù) 可自己定義。 實(shí)現(xiàn)提示 程序運(yùn)行后首先要求用戶給出制定的兩個(gè)文件。高級(jí)要求 建立文件庫,對(duì)新的文件檢測(cè)該文件與庫中哪些文件雷同,并給出相應(yīng)的比例。2. 課程設(shè)計(jì)案例管理系統(tǒng)收集各本課程的題目案例,每個(gè)案例包括 問題描述、基本功能要求、測(cè)試數(shù)據(jù)集、高級(jí)或 擴(kuò)展要求、課題實(shí)現(xiàn)源代碼包、課程設(shè)計(jì)報(bào)告、評(píng)語等各部分?;竟δ?(1).案例導(dǎo)入或錄入 (2).展示問題 (3) 展示案例結(jié)果 (4)案例查詢 (5)單問題多解決方案入 庫的處理3. 約瑟夫環(huán)問題描述 約瑟夫(Joeph)

8、問題的一種描述是:編號(hào)為 1,2” ,n的n個(gè)人按順時(shí)針方向圍坐一圈,每人 持有一個(gè)密碼(正整數(shù))。一開始任選一個(gè)正整數(shù)作為報(bào)數(shù)上限值m,從第一個(gè)人開始按順時(shí)針方向自 1 開始順序報(bào)數(shù),報(bào)到 m 時(shí)停止報(bào)數(shù)。報(bào) m 的人出列,將他的密碼作為新的 m 值,從他在順時(shí)針方向上的下一個(gè)人開始重新從 1 報(bào)數(shù), 如此下去, 直至所有人全部出列為 止。試設(shè)計(jì)一個(gè)程序求出出列順序。基本要求 利用單向循環(huán)鏈表存儲(chǔ)結(jié)構(gòu)模擬此過程,按照出列的順序印出各人的編號(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)提示 程序

9、運(yùn)行后首先要求用戶指定初始報(bào)數(shù)上限值,然后讀取各人的密碼。設(shè)nw 30。 *4. 長(zhǎng)整數(shù)運(yù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)隔開。測(cè)試數(shù)據(jù) (1) 0;0;應(yīng)輸出“ 0”。(2)-2345,6789; -7654,3211;應(yīng)輸出“ -1,0000,0000”。(3)-9999,9999;1,0000,0000,0000 ;應(yīng)輸出“ 9999,0000,0001 ”。( 4) 1,00

10、01,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 位,即不超過 9999 的非負(fù)整數(shù),整個(gè)鏈表視為萬進(jìn) 制數(shù)。(2) 可以利用頭結(jié)點(diǎn)數(shù)據(jù)域的符號(hào)代表長(zhǎng)整數(shù)的符號(hào)。用其絕對(duì)值表示元素結(jié)點(diǎn)數(shù)目。相 加過程中不要破壞兩個(gè)操作數(shù)鏈表。 兩操作數(shù)的頭指針存于指針數(shù)組中是簡(jiǎn)化程序結(jié)構(gòu)

11、的一 種方法。不能給長(zhǎng)整數(shù)位數(shù)規(guī)定上限。選作內(nèi)容 修改上述程序,使它在整型量范圍是-(2n-l) (2n-1)的計(jì)算機(jī)上都能有效地運(yùn)行。其中,n 是由程序讀入的參量。輸入數(shù)據(jù)的分組方法可以另行規(guī)定。5. 多項(xiàng)式鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及其代數(shù)運(yùn)算問題描述 設(shè)計(jì)并建立一個(gè)鏈?zhǔn)酱鎯?chǔ)分配系統(tǒng)來表示和操作多項(xiàng)式。 為了避免對(duì)零和非零多項(xiàng)式進(jìn)行不 同的處理, 使用帶頭結(jié)點(diǎn)的循環(huán)鏈表。 為了充分利用多項(xiàng)式中不再使用的結(jié)點(diǎn), 維護(hù)一個(gè)可用空間表avail,把不再使用的多項(xiàng)式的結(jié)點(diǎn)鏈入其中。當(dāng)需要一個(gè)新結(jié)點(diǎn)時(shí),就查看這個(gè)單 鏈表availo如果表非空,那么可以使用它的一個(gè)結(jié)點(diǎn)。只有當(dāng)該表為空時(shí),才使用動(dòng)態(tài)存 儲(chǔ)分配來創(chuàng)建

12、新結(jié)點(diǎn)?;疽?設(shè)計(jì)多項(xiàng)式的存儲(chǔ)結(jié)構(gòu),編寫并測(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) padd,計(jì)算d = a+b。不改變 a和b。e) psub,計(jì)算d = a-b。不改變a和b。f)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)提

13、示為了進(jìn)一步簡(jiǎn)化加法算法,把多項(xiàng)式的頭結(jié)點(diǎn)的指數(shù)域設(shè)為-1。6. 稀疏矩陣的完全鏈表表示及其運(yù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域鏈接起來。使得第二個(gè)表即列表,把所有結(jié)點(diǎn)按 照列序(同一列內(nèi)按行序)用down鏈接起來。這兩個(gè)表共用一個(gè)頭結(jié)點(diǎn)。另外,增加一個(gè)包含矩陣維數(shù)的結(jié)點(diǎn)。稀疏矩陣的這種存儲(chǔ)表示稱為完全鏈表表式。實(shí)現(xiàn)一個(gè)完全鏈表系統(tǒng)進(jìn)行稀疏矩陣運(yùn)算,并分析下列操作函數(shù)的計(jì)算時(shí)間和額外存儲(chǔ)空

14、間的開銷。(2 )設(shè)計(jì)目的認(rèn)識(shí)和掌握稀疏矩陣的完全鏈表表示;能夠建立并運(yùn)用這種存儲(chǔ)結(jié)構(gòu)(3)基本要求建立一個(gè)用戶友好、菜單式系統(tǒng)進(jìn)行下列操作,并使用合當(dāng)?shù)臏y(cè)試數(shù)據(jù)測(cè)試該系統(tǒng)。讀取一個(gè)稀疏矩陣建立其完全鏈表表示輸出一個(gè)稀疏矩陣的內(nèi)容刪除一個(gè)稀疏矩陣兩個(gè)稀疏矩陣相加兩個(gè)稀疏矩陣相減兩個(gè)稀疏矩陣相乘稀疏矩陣的轉(zhuǎn)置(4)實(shí)現(xiàn)提示鏈表上的操作。7. 實(shí)現(xiàn)簡(jiǎn)單數(shù)字圖像處理問題描述一幅圖像就是一個(gè)從位置集到顏色集的變換??紤]二維圖像,位置集實(shí)際上就是一個(gè)矩陣,此時(shí)一幅圖像實(shí)際上就是一個(gè)內(nèi)容為顏色矩陣。如果顏色為0-255間的整數(shù),表示該位置的灰度等級(jí),0為黑色,255為白色,此時(shí)的圖像稱為灰度圖。而圖像的處

15、理就是在該矩陣進(jìn)行相關(guān)計(jì)算。 一種常見的計(jì)算就是通過一點(diǎn)和周圍 8個(gè)點(diǎn)的信 息共同決定該點(diǎn)的新值: 如一點(diǎn)的新值為該點(diǎn)和周圍 8點(diǎn)顏色值之和的均值, 這一操作可用 下圖表示。1'91/91/91.'91/91/91/9L9圖橡平滑模板顯然這樣處理后,圖像會(huì)變得平滑,因此稱為平滑操作。 顯然將上述操作變?yōu)橄聢D時(shí),就成為銳化操作。-1-1-1-14-1要求實(shí)現(xiàn)若干基本的圖像處理操作?;疽?熟悉 Windows 下 BMP 文件的格式,能夠?qū)崿F(xiàn)其讀寫 ( 只考慮灰度圖像 )。 實(shí)現(xiàn)圖像的 平滑和銳化操作,其它處理操作選做。需用VC+乍為語言。*8. 回文判斷問題描述 試寫一個(gè)算法

16、,判斷依次讀入的一個(gè)以 為結(jié)束符的字母序列,是否為形如序列 1&序列 2'模式的字符序列。 其中序列 1和序列 2中都不含字符 &',且序列 2 是序列 1 的逆序列。例如, a+b&b+a '是屬該模式的字符序列,而1+3 & 3-1'則不是。*9. 商品貨架管理問題描述 商品貨架可以看成一個(gè)棧,棧頂商品的生產(chǎn)日期最早,棧底商品的生產(chǎn)日期最近。上貨時(shí),需要倒貨架,以保證生產(chǎn)日期較近的商品在較下的位置。 基本要求 針對(duì)一種特定商品,實(shí)現(xiàn)上述管理過程。 實(shí)現(xiàn)提示 用棧模擬貨架和周轉(zhuǎn)空間。測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定

17、。注意測(cè)試邊界數(shù)據(jù),如空棧。*10. 停車場(chǎng)管理問題描述 設(shè)停車場(chǎng)內(nèi)只有一個(gè)可停放 n 輛汽車的狹長(zhǎng)通道, 且只有一個(gè)大門可供汽車進(jìn)出。 汽車在停 車場(chǎng)內(nèi)按車輛到達(dá)時(shí)間的先后順序, 依次由北向南排列 (大門在最南端, 最先到達(dá)的第一輛 車停放在車場(chǎng)的最北端) ,若車場(chǎng)內(nèi)已停滿 n 輛汽車,則后來的汽車只能在門外的便道上等 候,一旦有車開走, 則排在便道上的第一輛車即可開入; 當(dāng)停車場(chǎng)內(nèi)某輛車要離開時(shí), 在它 之后開入的車輛必須先退出車場(chǎng)為它讓路, 待該輛車開出大門外, 其它車輛再按原次序進(jìn)入 車場(chǎng),每輛停放在車場(chǎng)的車在它離開停車場(chǎng)時(shí)必須按它停留的時(shí)間長(zhǎng)短交納費(fèi)用。試為停車場(chǎng)編制按上述要求進(jìn)行管

18、理的模擬程序。測(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):汽車“到達(dá)”或“離去”信息、汽車牌照號(hào)碼及到達(dá)或離去的時(shí)刻,其中, A'表示到達(dá); D'表示離去, E'表示輸入結(jié)束?;疽?以棧模擬停車場(chǎng), 以隊(duì)列模擬車場(chǎng)外的便道, 按照從終端讀

19、入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。 每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”信息、汽車牌照號(hào)碼及到達(dá)或離 去的時(shí)刻, 對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出數(shù)據(jù)為: 若是車輛到達(dá), 則輸出汽車在停車 場(chǎng)內(nèi)或便道上的停車位置; 若是車離去; 則輸出汽車在停車場(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ǎng)退出來的汽車, 也用順序存儲(chǔ)結(jié) 構(gòu)實(shí)現(xiàn)。輸入數(shù)據(jù)按到達(dá)或離去的時(shí)刻有序。 棧中每個(gè)元素表示一輛汽車,包含兩個(gè)數(shù)據(jù)項(xiàng): 汽車的牌照號(hào)碼和進(jìn)入停車場(chǎng)的時(shí)刻。 *11. 電梯運(yù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ù)不超過500人,每個(gè)人站在電梯前有個(gè)目標(biāo)層,他有一個(gè)最 大的忍受等待時(shí)間,因?yàn)樗梢赃x擇電梯或是步行走樓梯,等等。還有下面若干假設(shè):在每個(gè)時(shí)間段

21、要進(jìn)大樓的人數(shù)在0199之間隨機(jī)取值;用電梯的每個(gè)人的目標(biāo)層在 110之間取值;一個(gè)人在進(jìn)電梯或改走樓梯之前的等待時(shí)間在180360秒范圍內(nèi)隨機(jī)發(fā)生;一個(gè)人到達(dá)目標(biāo)層后第二次再乘電梯中間的工作時(shí)間在4006600秒間隨機(jī)取值?;疽缶帉懸粋€(gè)程序,模擬辦公大樓中全部電梯的工作過程。這個(gè)仿真程序可以用來監(jiān)測(cè)系統(tǒng)運(yùn)行情況,改善大樓管理,它也可以看成是一種游戲程序。:一000C8;一000m - 00(105000Up 11Uj> 05Up£1Simul&tion from LaarmiiE C+ by Tom SmnTclal Peop1«InBl 4eL

22、1;ftA" #Ave # Ki di&ETookHum ElvFitSecondsLeflTig0022100221OOOQQ0006000$000001010G35G300 01 3&屏幕顯示的布局設(shè)計(jì)12. 二叉樹及其遍歷問題描述 建立一棵二叉樹,并對(duì)其進(jìn)行遍歷(先序、中序、后序) ,打印輸出遍歷結(jié)果。 基本要求 從鍵盤接受輸入(先序) ,以二叉鏈表作為存儲(chǔ)結(jié)構(gòu),建立二叉樹(以先序來建立) ,并采用 遞歸算法對(duì)其進(jìn)行遍歷(先序、中序、后序) ,將遍歷結(jié)果打印輸出。 測(cè)試數(shù)據(jù) ABC©© DE©其中©表示空格字符)則輸出結(jié)果

23、為: 先序:ABCDEGF中序:CBEGDFA后序:CGBFDBA選作內(nèi)容 采用非遞歸算法實(shí)現(xiàn)二叉樹遍歷。2、打印二叉樹結(jié)構(gòu)問題描述 按凹入表形式橫向打印二叉樹結(jié)構(gòu), 即二叉樹的根在屏幕的最左邊, 二叉樹的左子樹在屏幕 的下邊,二叉樹的右子樹在屏幕的上邊。測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定。注意測(cè)試邊界數(shù)據(jù),如空二叉樹。3、打印樹結(jié)構(gòu)問題描述 按凹入表形式打印樹形結(jié)構(gòu)。測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定。注意測(cè)試邊界數(shù)據(jù),如空樹。實(shí)現(xiàn)提示 ( 1)利用樹的先根遍歷方法;( 2 )利用結(jié)點(diǎn)的深度控制橫向位置。 *13. 圖遍歷的演示問題描述 很多涉及圖上操作的算法都是以圖

24、的遍歷操作為基礎(chǔ)的。 試寫一個(gè)程序, 演示無向圖的遍歷 操作?;疽?以鄰接表為存儲(chǔ)結(jié)構(gòu), 實(shí)現(xiàn)連通無向圖的深度優(yōu)先和廣度優(yōu)先遍歷。 以用戶指定的結(jié)點(diǎn)為起 點(diǎn),分別輸出每種遍歷下的結(jié)點(diǎn)訪問序列和相應(yīng)生成樹的邊集。測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定。注意測(cè)試邊界數(shù)據(jù),如單個(gè)結(jié)點(diǎn)。實(shí)現(xiàn)提示 設(shè)圖的結(jié)點(diǎn)不超過 30個(gè),每個(gè)結(jié)點(diǎn)用一個(gè)編號(hào)表示(如果一個(gè)圖有 n 個(gè)結(jié)點(diǎn),則它們的編 號(hào)分別為1,2,n)。通過輸入圖的全部邊輸入一個(gè)圖,每個(gè)邊為一個(gè)數(shù)對(duì),可以對(duì)邊的輸入 順序作出某種限制。注意,生成樹的邊是有向邊,端點(diǎn)順序不能顛倒。*14. 學(xué)生選課系統(tǒng)問題描述 大學(xué)里實(shí)行學(xué)分制。 每門課都有

25、一定的學(xué)分。 每個(gè)學(xué)生均需要修滿規(guī)定數(shù)量的課程才能畢業(yè)。 其中有些課程可以直接修讀, 有些課程需要一定的基礎(chǔ)知識(shí), 必須在選了其他一些課程的基 礎(chǔ)上才能修讀。例如, 數(shù)據(jù)結(jié)構(gòu)必須在選修了程序設(shè)計(jì)基礎(chǔ)之后才能選修。我們稱程序設(shè)計(jì)基礎(chǔ)是數(shù)據(jù)結(jié)構(gòu)的“先修課” 。假定每門課的直接先修課至多只有一門, 兩門課可能存在相同的先修課。例如:】甲壬口 口. 課程號(hào)先修課號(hào)學(xué)分101211323403524上例中,1 是 2 的先修課,即如果要選修 2,則 1 必定被選。 基本要求 學(xué)生不可能學(xué)完大學(xué)里開設(shè)的所有課程,因此每個(gè)學(xué)生必須在入學(xué)時(shí)選定自己要學(xué)的課程。 每個(gè)學(xué)生所修的學(xué)分?jǐn)?shù)的下限是給定的?,F(xiàn)在編寫一個(gè)

26、“學(xué)生選課系統(tǒng)” ,任意給定一種課 程體系(總課程數(shù),課程之間的修讀先后制約關(guān)系,學(xué)生畢業(yè)要求修的課程學(xué)分?jǐn)?shù)) ,該系 統(tǒng)能幫助學(xué)生找出一種選課方案, 使得他所選課程數(shù)目最少, 并獲得畢業(yè)所需學(xué)分, 并且必 須滿足先修課程優(yōu)先的原則。具體功能如下:1. 將課程體系存放為課程體系文件CourseHierarchy.txt ;2. 將課程體系文件 CourseHierarchy.txt 轉(zhuǎn)換左孩子右兄弟二叉樹表示;3.在此基礎(chǔ)上對(duì)二叉樹進(jìn)行先序、中序、后序遍歷。 4. 給出選課方案。 *15. 設(shè)計(jì)一個(gè)哈夫曼碼的編 / 譯碼系統(tǒng)基本要求 該系統(tǒng)應(yīng)具有以下功能:(1) I :初始化(Initiali

27、zation )。從終端讀入字符集大小n,以及n個(gè)字符和n個(gè)權(quán) 值,建立哈夫曼樹,并將它存于文件 hfmTree 中。(2) E:編碼(Encoding)。利用已建好的哈夫曼樹(如不在內(nèi)存,則從文件hfmTree中讀入),對(duì)文件ToBeTran中的正文進(jìn)行編碼,然后將結(jié)果存入文件CodeFile中。(3) D:譯碼(Decoding)。利用已建好的哈夫曼樹將文件CodeFile中的代碼進(jìn)行譯 碼,結(jié)果存入文件 TextFile 中。(4) P:打印代碼文件(Print)。將文件CodeFile以緊湊格式顯示在終端上,每行50 個(gè)代碼。同時(shí)將此字符形式的編碼文件寫入文件 CodePrin 中。(

28、5) T:打印哈夫曼樹(Tree printing )。將已在 中的哈夫曼樹以直觀的方式(樹或凹入表形式)顯示在終端上,同時(shí)將此字符形式的哈夫曼樹寫入文件TreePrint中。 實(shí)現(xiàn)提示 (1)編碼結(jié)果以文本方式存儲(chǔ)在文件 CodeFile 中。(2) 用戶界面可以設(shè)計(jì)為“菜單”方式:顯示上述功能符號(hào),再加上“Q”,表示退出運(yùn)行Quit。請(qǐng)用戶鍵入一個(gè)選擇功能符。此功能執(zhí)行完畢后再顯示此菜單,直至某次用戶選擇了 “ Q”為止。(3) 在程序的一次執(zhí)行過程中,第一次執(zhí)行I,D或C命令之后,哈夫曼樹已經(jīng)在 內(nèi)存了,不必再讀入。每次執(zhí)行中不一定執(zhí)行 I 命令,因?yàn)槲募?hfmTree 可能早已建好。

29、 測(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í)現(xiàn)以下報(bào)文的編碼和譯碼:“ THIS PROGRAM IS MY FAVORITE16. 校園導(dǎo)游咨詢系統(tǒng)問題描述 設(shè)計(jì)一個(gè)校園導(dǎo)游程序, 為來訪的客人提供信息查詢服務(wù)。 基本要求 (1)設(shè)計(jì)學(xué)校的校園平面圖, 所含景點(diǎn)不少于 10 個(gè),以圖中頂點(diǎn)表示校內(nèi)各景點(diǎn),存放景 點(diǎn)名稱、代號(hào)、簡(jiǎn)介等信息,以邊表示路徑,存放路徑長(zhǎng)度等相

30、關(guān)信息。(2)為來訪客人提供圖中任意景點(diǎn)相關(guān)信息的查詢;(3)為來訪客人提供從校門口到圖中任意景點(diǎn)的問路查詢; *17. 推銷員問題:?jiǎn)栴}描述 有一個(gè)推銷員要到 N (N>0)個(gè)城市去推銷產(chǎn)品,他從某個(gè)城市出發(fā),經(jīng)歷每 個(gè)城市,且每個(gè)城市只能去一次,然后回到初始城市,以距離作為代價(jià),他希望找出一個(gè)最 佳路徑。這 N 個(gè)城市相互都有道路可通,但距離各不相同,城市個(gè)數(shù)和各個(gè)城市的相通距 離可由學(xué)生自己設(shè)定。基本要求 ( 1)可以輸入城市個(gè)數(shù) (不少于 10 個(gè))、輸入城市信息和城市之間的距離(為整數(shù)); ( 2)按照輸入出發(fā)城市,根據(jù)城市的距離最短給出路徑選擇。( 3)界面要求:有合理的提示

31、和人機(jī)交互。 *18. 全國(guó)交通咨詢模擬問題描述 處于不同目的的旅客對(duì)交通工具有不同的要求。例如,因公出差的旅客希望在旅 途中的時(shí)間盡可能的短, 出門旅游的游客則期望旅費(fèi)盡可能省, 而老年旅客則要求中轉(zhuǎn)次數(shù) 最少。編制一個(gè)全國(guó)城市間的交通咨詢程序,為旅客提供最優(yōu)決策的交通咨詢?;疽?( 1)提供對(duì)城市信息進(jìn)行編輯(如:添加或刪除)的功能;( 2)城市之間有兩種交通工具:火車或飛機(jī),提供對(duì)全國(guó)城市交通圖和列車時(shí)刻表及飛機(jī) 航班表進(jìn)行編輯的功能。 (信息的輸入方式可以是文件輸入和鍵盤輸入兩種方式)( 3)提供兩種最優(yōu)決策: 最快到達(dá)和最省錢到達(dá)。 (選作: 旅途中轉(zhuǎn)次數(shù)最少的最優(yōu)決策)( 4)

32、旅途中耗費(fèi)的總時(shí)間應(yīng)該包括中轉(zhuǎn)站的等候時(shí)間。( 5 )咨詢以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。a)由用戶輸入起始站、終點(diǎn)站、最優(yōu)決策原則和交通工具;b )輸出信息:最快需要多長(zhǎng)時(shí)間才能到達(dá)或者最少需要多少旅費(fèi)才能到達(dá),并詳 細(xì)說明依次于何時(shí)乘坐哪一趟列車或哪一次班機(jī)到何地。19. 關(guān)鍵路徑問題問題描述 設(shè)計(jì)一個(gè)程序求出完成整項(xiàng)工程至少需要多少時(shí)間以及整項(xiàng)工程中的關(guān)鍵活動(dòng)?;疽螅?)對(duì)一個(gè)描述工程的 AOE網(wǎng),應(yīng)判斷其是否能夠順利進(jìn)行。(2)若該工程能順利進(jìn)行,輸出完成整項(xiàng)工程至少需要多少時(shí)間,以及每一個(gè)關(guān)鍵活動(dòng)所依附的兩個(gè)頂點(diǎn)、最早發(fā)生時(shí)間、最遲發(fā)生時(shí)間。 *20. 二叉排序樹問題描述 從鍵盤讀

33、入一組數(shù)據(jù),建立二叉排序樹并對(duì)其進(jìn)行查找、遍歷、格式化打印等有關(guān)操作。 基本要求 建立二叉排序樹并對(duì)其進(jìn)行查找,包括成功和不成功兩種情況,并給出查找長(zhǎng)度。 測(cè)試數(shù)據(jù) 由學(xué)生依據(jù)軟件工程的測(cè)試技術(shù)自己確定。注意測(cè)試邊界數(shù)據(jù)。 選作內(nèi)容 實(shí)現(xiàn)二叉排序樹的插入、刪除操作。 *21. 內(nèi)部排序算法比較問題描述 各種內(nèi)部排序算法的時(shí)間復(fù)雜度分析結(jié)果只給出了算法執(zhí)行時(shí)間的階, 或大概執(zhí)行時(shí)間。 試 通過隨機(jī)的數(shù)據(jù)比較各算法的關(guān)鍵字比較次數(shù)和關(guān)鍵字移動(dòng)次數(shù),以取得直觀感受。 基本要求 (1)對(duì)以下 10 種常用的內(nèi)部排序算法進(jìn)行比較: 直接插入排序;折半折入排序;二路插入 排序;希爾排序;起泡排序;快速排序

34、;簡(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)系。 還可以對(duì)穩(wěn)定性做驗(yàn) 證。22. 統(tǒng)計(jì)成績(jī)問題描述 給出 n 個(gè)學(xué)生的 m 門考試的成績(jī)表,每個(gè)學(xué)生的信息由學(xué)號(hào)、姓名以及各

35、科成績(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)問題描述 假設(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+w。不同的項(xiàng)目取前五名或前三名積分;取前五 名的積分分別為: 7、5、3、2、1,前三名的積分分別為: 5、 3、 2;哪些取前五名或前三 名由學(xué)生自己設(shè)定

36、。 (m<=10,n<=15) 基本要求 系統(tǒng)功能要求:(1) 可以輸入各個(gè)項(xiàng)目的前三名或前五名的成績(jī);(2)能統(tǒng)計(jì)各系總分;(3)可以按系編號(hào)、系總分、男女團(tuán)體總分排序輸出;(4) 可以按系編號(hào)查詢學(xué)校某個(gè)項(xiàng)目的情況;可以按項(xiàng)目編號(hào)查詢?nèi)〉们叭蚯拔迕南怠?實(shí)現(xiàn)提示 ( 1 )輸入數(shù)據(jù)形式和范圍: 系或運(yùn)行項(xiàng)目可以用 20 以內(nèi)的整數(shù)表示; 也可以直接輸入系的 名稱或運(yùn)動(dòng)項(xiàng)目的名稱;(2)界面要求:有合理的提示,每個(gè)功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(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ù)文件中,并在上交資料中

37、說明所用到的存儲(chǔ)結(jié)構(gòu);(4) 測(cè)試數(shù)據(jù):測(cè)試數(shù)據(jù)及測(cè)試結(jié)果請(qǐng)?jiān)谏辖坏馁Y料中寫明。*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)問題描述: 該系統(tǒng)實(shí)現(xiàn)對(duì)若干個(gè)大學(xué)生的學(xué)習(xí)成績(jī)進(jìn)行管理。至少包括以下信息: 學(xué)號(hào)、姓名、科目、成績(jī),學(xué)期。學(xué)期取值范圍可為1-8。功能要求:1 使用中文菜單,界面設(shè)計(jì)和用戶輸入輸出要人性化些;2.

38、 將學(xué)生信息保存在文本文檔中, 具體對(duì)學(xué)生信息進(jìn)行插入刪除查詢操作時(shí), 將保 存在文本文檔中的學(xué)生信息提取出來, 保存在自己定義的數(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具有多種查詢(如按學(xué)號(hào)查詢、按姓名查詢、按成績(jī)查詢等)及輸出功能; 7其它功能(如各種統(tǒng)計(jì),統(tǒng)計(jì)每個(gè)學(xué)生所有課程的平均分,統(tǒng)計(jì)某門課程所有 學(xué)生的平均分等等)8學(xué)生信息的修改(比如修改學(xué)生姓名,修改學(xué)生某門課程的成績(jī)) 說

39、明:(1)功能各方面越完善越好 (2)自定義的數(shù)據(jù)結(jié)構(gòu)可以使用數(shù)組,鏈表,樹等,可以使用多種數(shù)據(jù)結(jié)構(gòu)來存放數(shù)據(jù), 然后在其上使用不同的排序算法。(3)若用數(shù)組,必須動(dòng)態(tài)分配空間(文本文件中最好有一行表示學(xué)生人數(shù)) 算法要點(diǎn): 把問題看成是對(duì)線性表的操作。 將學(xué)生成績(jī)組織成順序表, 則登記學(xué)生成績(jī)即是 建立順序表操作;查詢學(xué)生成績(jī)、插入學(xué)生成績(jī)、刪除學(xué)生成績(jī)即是在順序表中進(jìn)行查找、 插入和刪除操作。 *26. 簡(jiǎn)易客房管理系統(tǒng)問題描述: 該系統(tǒng)能簡(jiǎn)單實(shí)現(xiàn)對(duì)客棧的住宿情況進(jìn)行管理。至少包括以下信息: 房號(hào)、房型、單價(jià)(每床) 、已住人數(shù); 住客姓名、性別、年齡、身份、身份證號(hào)碼,房號(hào),床號(hào),入住日

40、期、入住時(shí)間、 離店日期、離店時(shí)間。這些信息應(yīng)存放在兩個(gè)文件中,分別是 客房信息文件 、 住客信息文件 ?!胺啃汀?可取值 1-3,分別表示單人間、雙人間、通鋪(可以住很多人的房間)功能要求:1具有建立數(shù)據(jù)文件 (客房信息文件、住客信息文件 )功能; 2具有數(shù)據(jù)輸入功能;3具有數(shù)據(jù)修改功能;4具有數(shù)據(jù)刪除功能; 5能查詢(查找)一些基本信息(如按房號(hào)查詢、按姓名查詢、空余客房查詢等);6具有多種統(tǒng)計(jì)功能(要求有一定的實(shí)用性)(如某客房當(dāng)前有那些空床、某住客應(yīng)付多少費(fèi)用、某天住店總?cè)藬?shù)和總收入等) 7能具有排序功能(比如在查詢所有的客房信息時(shí),能根據(jù)房間價(jià)格進(jìn)行排序,方便客人 挑選房間等等)說明

41、: (1)功能各方面越完善越好 (2)自定義的數(shù)據(jù)結(jié)構(gòu)可以使用數(shù)組,鏈表,樹等,可以使用多種數(shù)據(jù)結(jié)構(gòu)來存放數(shù)據(jù), 然后在其上使用不同的排序算法。(3)若用數(shù)組,必須動(dòng)態(tài)分配空間(文本文件中最好有一行來表示數(shù)組應(yīng)該有多大,這樣 便于動(dòng)態(tài)分配空間) *27. 人事檔案管理系統(tǒng)問題描述: 該系統(tǒng)能簡(jiǎn)單實(shí)現(xiàn)對(duì)人事檔案的管理。該系統(tǒng)包括 : 人員基本情況管理、工資管理和考勤管理等幾個(gè)方面的功能。用戶通過輸入工 資、考勤、職工履歷等基本信息 ,由系統(tǒng)自行生成相應(yīng)的統(tǒng)計(jì)數(shù)據(jù)以供用戶查詢, 能對(duì)這些基本信息進(jìn)行更新和刪除。至少包括以下信息:人員履歷表:?jiǎn)T工編號(hào),員工姓名,性別,年齡,部門,職位,受教育年限 職

42、工工資表:?jiǎn)T工編號(hào),基本工資,缺勤扣發(fā)工資,扣稅,實(shí)發(fā)工資 月考勤登記表:?jiǎn)T工編號(hào),月缺勤天數(shù) 注:假設(shè)每個(gè)員工每天缺勤扣發(fā)工資的多少跟其基本工資存在一定關(guān)系,比如是該基本工資的20分之一;假設(shè)扣稅金額=(基本工資缺勤扣發(fā)工資2000)X 10 %,而若基本工資缺勤扣發(fā)工資 2000 的值小于 2000 則扣稅金額為 0功能要求:1 具有建立數(shù)據(jù)文件 (人員履歷表文件、職工工資表文件、月考勤登記表)功能;2 具有數(shù)據(jù)輸入功能;3具有數(shù)據(jù)修改功能;4具有數(shù)據(jù)刪除功能;5能查詢(查找)一些基本信息(如按員工編號(hào)查詢、按員工姓名和部門組合查詢等,如 生成各部門員工花名冊(cè)) ;6具有多種統(tǒng)計(jì)功能(要求

43、有一定的實(shí)用性)(如不同部門的員工平均工資比較 (除了用數(shù)字表示外, 也可以用星號(hào)畫圖的方式來直觀的 表示);不同性別員工工資比較;某部門內(nèi)部,不同職位員工工資比較;不同受教育水平人 的平均工資比較;部門最高實(shí)發(fā)工資等等) 7具有排序功能(比如將各部門職工工資平均值進(jìn)行排序,將部門內(nèi)部職工工資進(jìn)行排序各個(gè)功能模塊簡(jiǎn)要敘述(具體實(shí)現(xiàn)時(shí),并不局限于這些功能,越完善越好) 人員基本情況管理:提供對(duì)”人員履歷表”數(shù)據(jù)輸入、組合條件查詢、統(tǒng)計(jì)功能; 職工工資管理:提供對(duì) ”職工工資表 ”數(shù)據(jù)的輸入、查詢、按統(tǒng)計(jì)、顯示功能,完成每月對(duì)“職工工資表 ”數(shù)據(jù)的月統(tǒng)計(jì) ,以此生成 “職工工資總額構(gòu)成情況表 ”實(shí)

44、現(xiàn)該表的查詢、 顯 示功能。職工考勤管理 : 提供對(duì)各部門 “月考勤登記表 ”數(shù)據(jù)的錄入、查詢、統(tǒng)計(jì)功能; 說明:( 1 )功能各方面越完善越好 (2)自定義的數(shù)據(jù)結(jié)構(gòu)可以使用數(shù)組,鏈表,樹等,可以使用多種數(shù)據(jù)結(jié)構(gòu)來存放數(shù)據(jù), 然后在其上使用不同的排序算法。( 3)若用數(shù)組,必須動(dòng)態(tài)分配空間(文本文件中最好有一行來表示數(shù)組應(yīng)該有多大,這樣 便于動(dòng)態(tài)分配空間) *28. 進(jìn)銷存貨物管理系統(tǒng)問題描述: 該系統(tǒng)能進(jìn)行簡(jiǎn)單的貨物管理,進(jìn)貨,銷售貨物,退貨等管理 至少包括如下信息: 貨物標(biāo)號(hào),貨物名稱,貨物產(chǎn)地,入庫價(jià)格,入庫時(shí)間,現(xiàn)存貨物數(shù)量,已經(jīng)銷售數(shù)量,銷 售平均單價(jià)注:每次銷售后,都需要對(duì)現(xiàn)存貨

45、物數(shù)量進(jìn)行更新,對(duì)已銷售數(shù)量進(jìn)行更新,也需要對(duì)銷售 平均單價(jià)進(jìn)行更新功能要求:1 具有建立數(shù)據(jù)文件 (貨物管理表 )的功能;2 具有數(shù)據(jù)輸入功能;3具有數(shù)據(jù)修改功能;4具有數(shù)據(jù)刪除功能(當(dāng)一些已經(jīng)過時(shí)陳舊的商品被特價(jià)處理后,將其刪除,不再進(jìn)貨)5能查詢(查找)一些基本信息(如能查詢剩余件數(shù)小于某個(gè)特定值的商品,以便于及時(shí) 進(jìn)貨);6具有多種統(tǒng)計(jì)功能(要求有一定的實(shí)用性) (如統(tǒng)計(jì)每種貨物是否有盈利(將銷售平均單價(jià)跟入庫價(jià)格進(jìn)行比較) ,所有貨物的盈利或 虧損等等)7具有排序功能(比如對(duì)貨物盈利水平進(jìn)行排序比較等等) 說明:(1)功能各方面越完善越好 (2)自定義的數(shù)據(jù)結(jié)構(gòu)可以使用數(shù)組,鏈表,樹等,可以使用多種數(shù)據(jù)結(jié)構(gòu)來存放數(shù)據(jù), 然后在其上使用不同的排序算法。(3)若用數(shù)組,必須動(dòng)態(tài)分配空間(文本文件中最好有一行來表示數(shù)組應(yīng)該有多大,這樣 便于動(dòng)態(tài)分配空間) *29. 圖書管理系統(tǒng)問題描述: 該系統(tǒng)能進(jìn)行簡(jiǎn)單的圖書管理功能 至少包括如下信息: 圖書編號(hào),圖書名稱,作者,出版社,總共冊(cè)數(shù),在館冊(cè)數(shù),現(xiàn)存地址,借閱次數(shù) 注:現(xiàn)存地址是假設(shè)圖書館有多個(gè)書庫,不同種類的書存放于不同的地方功能要求:1具有建立數(shù)據(jù)文件 (圖書信息 )的功能; 2具有數(shù)據(jù)輸入功能;3具有數(shù)據(jù)修改功能(借書或者還書都需要修

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論