13級(jí)課程設(shè)計(jì)題目及要求_第1頁
13級(jí)課程設(shè)計(jì)題目及要求_第2頁
13級(jí)課程設(shè)計(jì)題目及要求_第3頁
13級(jí)課程設(shè)計(jì)題目及要求_第4頁
13級(jí)課程設(shè)計(jì)題目及要求_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、13級(jí)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目及要求一、課程設(shè)計(jì)目的數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)專業(yè)一門重要的專業(yè)技術(shù)基礎(chǔ)課程,是一門關(guān)鍵性核心課程。數(shù)據(jù)結(jié)構(gòu)課程的目標(biāo)是使學(xué)生學(xué)會(huì)分析研究計(jì)算機(jī)加工對(duì)象的特性,選擇合適的數(shù)據(jù)結(jié)構(gòu)和存儲(chǔ)表示,以及編制相應(yīng)的實(shí)現(xiàn)算法,培養(yǎng)和提高學(xué)生程序設(shè)計(jì)的能力。數(shù)據(jù)結(jié)構(gòu)課程也是一門實(shí)踐性較強(qiáng)的課程,設(shè)置實(shí)踐環(huán)節(jié)是十分重要的。本課程設(shè)計(jì)的目標(biāo)就是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,提高學(xué)生組織數(shù)據(jù)及編寫大型程序的能力,并培養(yǎng)基本的、良好的程序設(shè)計(jì)技能以及合作能力。二、課程設(shè)計(jì)內(nèi)容題目一:宿舍管理系統(tǒng)(線性表應(yīng)用)【問題描述】(1) 任務(wù):為宿舍管理人員編寫一個(gè)宿舍管理查詢軟件,程序設(shè)計(jì)要求:A. 采用交

2、互工作方式B. 建立數(shù)據(jù)文件,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號(hào)、房號(hào))進(jìn)行排序 (冒泡、選擇、插入排序等任選一種)【實(shí)現(xiàn)提示】(2)查詢功能A. 按姓名查詢 B. 按學(xué)號(hào)查詢 C. 按房號(hào)查詢(3)打印功能(4)添加功能(5)刪除功能(6)修改功能題目二:通訊錄管理系統(tǒng)(線性表應(yīng)用)【問題描述】模塊要求:第一個(gè)模塊主函數(shù)main()的功能是:根據(jù)選單的選項(xiàng)調(diào)用各函數(shù),并完成相應(yīng)的功能。 第二個(gè)模塊Menu()的功能是:顯示英文提示選單。 第三個(gè)模塊Quit()的功能是:退出選單。 第四個(gè)模塊Create()的功能是:創(chuàng)建新的通訊錄。 第五個(gè)模塊Add()的功能是:在通訊錄的末尾,寫入新的信息,并返

3、回選單。 第六個(gè)模塊Find()的功能是:查詢某人的信息,如果找到了,則顯示該人的信息,如果未找到,則提示通訊錄中沒有此人的信息,并返回選單。 第七個(gè)模塊Alter()的功能是:修改某人的信息,如果未找到要修改的人,則提示通訊錄中沒有此人的信息,并返回選單。 第八個(gè)模塊Delete()的功能是:刪除某人的信息,如果未找到要?jiǎng)h除的人,則提示通訊錄中沒有此人的信息,并返回選單。 第九個(gè)模塊List()的功能是:顯示通訊錄中的所有記錄。;【實(shí)現(xiàn)提示】(1)每條信息至包含 :姓名(NAME )、性別(GENDER)、電話(TEL) 、城市(CITY)、郵編(EIP)等內(nèi)容。(2)作為一個(gè)完整的系統(tǒng),應(yīng)

4、具有友好的界面和較強(qiáng)的容錯(cuò)能力題目三: 哈夫曼編碼/譯碼系統(tǒng)(樹應(yīng)用)【問題描述】利用哈夫曼編碼進(jìn)行通信,可以壓縮通信的數(shù)據(jù)量,提高傳輸效率,縮短信息的傳輸時(shí)間,還有一定的保密性?,F(xiàn)在要求編寫一程序模擬傳輸過程,實(shí)現(xiàn)在發(fā)送前將要發(fā)送的字符信息進(jìn)行編碼,然后進(jìn)行發(fā)送,接收后將傳來的數(shù)據(jù)進(jìn)行譯碼,即將信息還原成發(fā)送前的字符信息?!緦?shí)現(xiàn)提示】在本例中設(shè)置發(fā)送者和接受者兩個(gè)功能。發(fā)送者的功能包括:輸入待傳送的字符信息;統(tǒng)計(jì)字符信息中出現(xiàn)的字符種類數(shù)和各字符出現(xiàn)的次數(shù)(頻率);根據(jù)字符的種類數(shù)和各自出現(xiàn)的次數(shù)建立哈夫曼樹;利用以上哈夫曼樹求出各字符的哈夫曼編碼;將字符信息轉(zhuǎn)換成對(duì)應(yīng)的編碼信息進(jìn)行傳送。接

5、受者的功能包括:接收發(fā)送者傳送來的編碼信息;利用上述哈夫曼樹對(duì)編碼信息進(jìn)行翻譯,即將編碼信息還原成發(fā)送前的字符信息。從以上分析可發(fā)現(xiàn),在本例中的主要算法有三個(gè):(1)哈夫曼樹的建立;(2)哈夫曼編碼的生成;(3)對(duì)編碼信息的翻譯。題目四:家譜管理系統(tǒng)(樹應(yīng)用)【問題描述】家譜是記載各個(gè)姓氏家族子孫世系傳承之書,為了管理家譜要求編寫程序完成如下功能: (1)家譜樹的建立; (2)家族成員信息的錄入;(3)刪除家族成員(若其還有后代,則一并刪除);(4)分別按出姓名、出生日期查詢成員信息;(5)修改成員信息;(6)統(tǒng)計(jì)成員人數(shù);(7)輸出全體成員;【實(shí)現(xiàn)提示】家譜從形狀上看像一棵倒長(zhǎng)的樹,家族中的

6、成員之間存在著一對(duì)多的層次結(jié)構(gòu)關(guān)系,所以用樹結(jié)構(gòu)來表示家譜比較合適??梢圆捎煤⒆有值苕湵肀硎痉ㄗ鳛槠浯鎯?chǔ)結(jié)構(gòu),左指針指向家庭成員的第一個(gè)孩子,右指針指向其兄弟。系統(tǒng)功能的實(shí)現(xiàn)涉及到樹以孩子兄弟鏈表表示形式的建立、樹中結(jié)點(diǎn)的插入、刪除、查找、統(tǒng)計(jì)結(jié)點(diǎn)數(shù)及遍歷等操作,可以通過運(yùn)用本章學(xué)過的知識(shí)來完成。題目五:教學(xué)計(jì)劃編制問題(圖的應(yīng)用)【問題描述】大學(xué)的每個(gè)專業(yè)都要制定教學(xué)計(jì)劃。假設(shè)任何專業(yè)都有固定的學(xué)習(xí)年限,每學(xué)年含兩學(xué)期,每學(xué)期的時(shí)間長(zhǎng)度和學(xué)分上限值均相等。每個(gè)專業(yè)開設(shè)的課程都是確定的,而且課程在開設(shè)時(shí)間的安排必須滿足先修關(guān)系。每門課程有哪些先修課程是確定的,可以有任意多門,也可以沒有。每門課

7、恰好占一個(gè)學(xué)期。試在這樣的前提下設(shè)計(jì)一個(gè)教學(xué)計(jì)劃編制程序。【實(shí)現(xiàn)提示】1、 輸入?yún)?shù)應(yīng)包括:學(xué)期總數(shù),一學(xué)期的學(xué)分上限,每門課的課程號(hào)(可以是固定占3位的字母數(shù)字串)、學(xué)分和直接先修課的課程號(hào)。2、 應(yīng)允許用戶指定下列兩種編排策略之一:一是使學(xué)生在各學(xué)期中的學(xué)習(xí)負(fù)擔(dān)盡量均勻;二是使課程盡可能地集中在前幾個(gè)學(xué)期中。3、 若根據(jù)給定的條件問題無解,則報(bào)告適當(dāng)?shù)男畔?;否則將教學(xué)計(jì)劃輸出到用戶指定的文件中。計(jì)劃的表格格式可以自己設(shè)計(jì)。4、 可設(shè)學(xué)期總數(shù)不超過12,課程總數(shù)不超過100。如果輸入的先修課程號(hào)不在該專業(yè)開設(shè)的課程序列中,則作為錯(cuò)誤處理。題目六:運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)【問題描述】假設(shè)參加運(yùn)動(dòng)會(huì)有n個(gè)

8、系,系編號(hào)為1n。比賽分成m個(gè)男子項(xiàng)目,和w個(gè)女子項(xiàng)目。項(xiàng)目編號(hào)為男子1m,女子m+1m+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)查詢學(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)目的名稱;

9、(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ù)文件中,并在上交資料中說明所用到的存儲(chǔ)結(jié)構(gòu);(4)測(cè)試數(shù)據(jù):測(cè)試數(shù)據(jù)及測(cè)試結(jié)果請(qǐng)?jiān)谏辖坏馁Y料中寫明。題目七: 通信錄查詢系統(tǒng)(查找應(yīng)用)【問題描述】設(shè)計(jì)散列表實(shí)現(xiàn)通訊錄查找系統(tǒng)。(1) 設(shè)每個(gè)記錄有下列數(shù)據(jù)項(xiàng):電話號(hào)碼、用戶名、地址;(2) 從鍵盤輸入各記錄,分別以電話號(hào)碼為關(guān)鍵字建立散列表;(3) 采用線性探測(cè)再散列法解決沖突;(4) 查找并顯示給定電話號(hào)碼的記錄;(5) 通訊錄信息文件保存;(6) 要求人機(jī)界面友好,使用

10、圖形化界面;【實(shí)現(xiàn)提示】主函數(shù):根據(jù)選單的選項(xiàng)調(diào)用各函數(shù),并完成相應(yīng)的功能。Menu()的功能:顯示英文提示選單。Quit()的功能:退出選單。Create()的功能:創(chuàng)建新的通訊錄。Append()的功能:在通訊錄的末尾寫入新的信息,并返回選單。Find():查詢某人的信息,如果找到了,則顯示該人的信息,如果沒有則提示通訊錄中沒有此人的信息,并返回選單。Alter()的功能:修改某人的信息,如果未找到要修改的人,則提示通訊錄中沒有此人的信息,并返回選單。Delete()的功能:刪除某人的信息,如果未找到要?jiǎng)h除的人,則提示通訊錄中沒有此人的信息,并返回選單。List()的功能:顯示通訊錄中的所

11、有記錄。Save()的功能:保存通訊錄中的所有記錄到指定文件中。Load()的功能:從指定文件中讀取通訊錄中的記錄。題目八: 全國(guó)交通咨詢模擬系統(tǒng)【問題描述】 出于不同目的的旅客對(duì)交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的時(shí)間盡可能短,出門旅游的游客則期望旅費(fèi)盡可能省,而老年旅客則要求中轉(zhuǎn)次數(shù)最少。編制一個(gè)全國(guó)城市間的交通咨詢程序,為旅客提供兩種或三種最優(yōu)決策的交通咨詢?!净疽蟆浚?)提供對(duì)城市信息進(jìn)行編輯(如:添加或刪除)的功能。(2)城市之間有兩種交通工具:火車和飛機(jī)。提供對(duì)列車時(shí)刻表和飛機(jī)航班進(jìn)行編輯(增設(shè)或刪除)的功能。(3)提供兩種最優(yōu)決策:最快到達(dá)或最省錢到達(dá)。全

12、程只考慮一種交通工具。(4)旅途中耗費(fèi)的總時(shí)間應(yīng)該包括中轉(zhuǎn)站的等候時(shí)間。(5)咨詢以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。由用戶輸入起始站、終點(diǎn)站、最優(yōu)決策原則和交通工具,輸出信息:最快需要多長(zhǎng)時(shí)間才能到達(dá)或者最少需要多少旅費(fèi)才能到達(dá),并詳細(xì)說明依次于何時(shí)乘坐哪一趟列車或哪一次班機(jī)到何地。題目九: 文章編輯系統(tǒng)(字符串)【問題描述】實(shí)現(xiàn)一個(gè)文章編輯系統(tǒng),可以統(tǒng)計(jì)一頁文字中文字、數(shù)字及空格的個(gè)數(shù),存儲(chǔ)一頁文章保存在文件中,每行最多不超過80個(gè)字符,共N行,分別統(tǒng)計(jì)出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);統(tǒng)計(jì)某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);當(dāng)刪除某一子串時(shí),后面的字符隨之前移;用指定的字符串替

13、換某一子串【實(shí)現(xiàn)提示】1.存儲(chǔ)結(jié)構(gòu)使用線性表,分別用幾個(gè)子函數(shù)實(shí)現(xiàn)相應(yīng)的功能2.輸入數(shù)據(jù)的形式和范圍:可以輸入大寫、小寫的英文字母、任何數(shù)字及標(biāo)點(diǎn)符號(hào)3.輸出形式:分行輸出用戶輸入的各行字符;分4行輸出全部字母數(shù)、數(shù)字個(gè)數(shù)、空格個(gè)數(shù)、文章總字?jǐn)?shù);輸出刪除某一字符串后的文章;輸出替換某一字符串后的文章4.界面要友好,輸入有提示,盡量展示人性化5.源程序代碼清晰、有層次6.用戶輸入非法數(shù)據(jù)時(shí),系統(tǒng)要及時(shí)給出警告信息題目十: 航班信息的查詢與檢索【問題描述】 設(shè)計(jì)民航售票處的計(jì)算機(jī)系統(tǒng)可以為客戶提供下列各項(xiàng)服務(wù):1.查詢航線:根據(jù)旅客提出的終點(diǎn)站名輸出下列信息:航班號(hào)、飛機(jī)號(hào)、星期幾飛行、最近一天航

14、班的日期和余票額;2.承辦訂票業(yè)務(wù):根據(jù)客戶提出的要求(航班號(hào)、訂票數(shù)額)查詢?cè)摵桨嗥鳖~情況?!緦?shí)現(xiàn)提示】1.對(duì)飛機(jī)航班信息進(jìn)行排序和查找。可按航班的航班號(hào)、起點(diǎn)站、到達(dá)站、起飛時(shí)間以及到達(dá)時(shí)間等信息進(jìn)行查詢。 2.采用基數(shù)排序法對(duì)一組具有結(jié)構(gòu)特點(diǎn)的飛機(jī)航班號(hào)進(jìn)行排序。 3.利用二分查找法對(duì)排好序的航班記錄按航班號(hào)實(shí)現(xiàn)快速排序。 4.每個(gè)航班記錄包括八項(xiàng),分別為:航班號(hào)、起點(diǎn)站、終點(diǎn)站、班期、起飛時(shí)間、到達(dá)時(shí)間、飛機(jī)型號(hào)以及票價(jià)等。題目十一: 校園導(dǎo)游咨詢系統(tǒng)【問題描述】 設(shè)計(jì)你的學(xué)校的平面圖,至少包括10個(gè)以上的場(chǎng)所,每?jī)蓚€(gè)場(chǎng)所間可以有不同的路,且路長(zhǎng)也可能不同,找出從任意場(chǎng)所到達(dá)另一場(chǎng)所的

15、最佳路徑(最短路徑)?!净疽蟆?、設(shè)計(jì)校園平面圖,在校園景點(diǎn)選10個(gè)左右景點(diǎn)。以圖中頂點(diǎn)表示校園內(nèi)各景點(diǎn),存放景點(diǎn)名稱、代號(hào)、簡(jiǎn)介等信息;以邊表示路徑,存放路徑長(zhǎng)度等有關(guān)信息。2、為來訪客人提供圖中任意景點(diǎn)相關(guān)信息的查詢。3、為來訪客人提供任意景點(diǎn)的問路查詢,即查詢?nèi)我鈨蓚€(gè)景點(diǎn)之間的一條最短路徑?!緦?shí)現(xiàn)提示】一般情況下,校園的道路是雙向通行的,可設(shè)計(jì)校園平面圖是一個(gè)無向網(wǎng)。頂點(diǎn)和邊均含有相關(guān)信息。題目十二:停車場(chǎng)管理系統(tǒng)【問題描述】設(shè)有一個(gè)可以停放n輛汽車的狹長(zhǎng)停車場(chǎng),它只有一個(gè)大門可以供車輛進(jìn)出。車輛按到達(dá)停車場(chǎng)時(shí)間的早晚依次從停車場(chǎng)最里面向大門口處停放(最先到達(dá)的第一輛車放在停車場(chǎng)的最

16、里面)。如果停車場(chǎng)已放滿n輛車,則后來的車輛只能在停車場(chǎng)大門外的便道上等待,一旦停車場(chǎng)內(nèi)有車開走,則排在便道上的第一輛車就進(jìn)入停車場(chǎng)。停車場(chǎng)內(nèi)如有某輛車要開走,在他之后進(jìn)入停車場(chǎng)的車都必須先退出停車場(chǎng)為它讓路,待其開出停車場(chǎng)后,這些車輛在依原來的次序進(jìn)場(chǎng)。每輛車在離開停車場(chǎng)時(shí),都應(yīng)依據(jù)它在停車場(chǎng)內(nèi)停留的時(shí)間長(zhǎng)短交費(fèi)。如果停留在便道上的車未進(jìn)停車場(chǎng)就要離去,允許其離去,不收停車費(fèi),并且仍然保持在便道上等待的車輛的次序。編制一程序模擬該停車場(chǎng)的管理?!緦?shí)現(xiàn)提示】1、掌握棧和隊(duì)列的建立。 2、掌握棧和隊(duì)列的基本操作。 3、深入了解棧和隊(duì)列的特性,以便在解決實(shí)際問題中靈活運(yùn)用它們。 題目十三:學(xué)生會(huì)信

17、息管理系統(tǒng)問題描述設(shè)計(jì)學(xué)生會(huì)管理系統(tǒng),包括增加成員、刪除成員、查詢成員、更新成員、輸出人數(shù)、輸出成員信息等功能。實(shí)現(xiàn)提示成員的信息包括職位、姓名、性別、ID編號(hào),為了統(tǒng)一定義,將學(xué)生和教師編號(hào)采用共用體處理,定義其類型為:typedef struct char position18; char name10; char sex; union char Teacher20; char Student20; ID; DataType;題目十四:?jiǎn)挝辉L客管理系統(tǒng)【問題描述】設(shè)計(jì)單位訪客管理系統(tǒng),選擇合適的數(shù)據(jù)結(jié)構(gòu)解決訪客登記的使用問題,通過菜單實(shí)現(xiàn)其常用的幾種功能: 程序運(yùn)行后,給出6個(gè)菜單項(xiàng)的內(nèi)容

18、和輸入提示;1. 訪客登記表的建立2. 新訪客結(jié)點(diǎn)的插入3. 訪客結(jié)點(diǎn)的查詢4. 訪客結(jié)點(diǎn)的刪除5. 訪客結(jié)點(diǎn)的輸出0. 退出管理系統(tǒng)【實(shí)現(xiàn)提示】由題目可知,訪客登記管理系統(tǒng)中訪客與訪客間是順序的,所以訪客的信息組成了線性結(jié)構(gòu)。其中,訪客的到來與離去需要執(zhí)行數(shù)據(jù)元素的插入與刪除操作。隨著系統(tǒng)的運(yùn)行,這個(gè)操作比較頻繁,因此可以選擇單鏈表做存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)。按照單鏈表的結(jié)構(gòu),設(shè)計(jì)單鏈表的建立、結(jié)點(diǎn)的插入、結(jié)點(diǎn)的查找、結(jié)點(diǎn)的刪除和鏈表的輸出等相應(yīng)的子函數(shù)。為實(shí)現(xiàn)菜單的調(diào)用功能,應(yīng)該設(shè)計(jì)一個(gè)函數(shù)用于輸出提示信息和處理輸入,并將返回值提供給主函數(shù)實(shí)現(xiàn)相應(yīng)的子函數(shù)調(diào)用。三、時(shí)間安排課程設(shè)計(jì)時(shí)間為三周,要求每人上機(jī)學(xué)時(shí)不低于50學(xué)時(shí)。四、設(shè)計(jì)工作要求1、課程設(shè)計(jì)完成基本的功能要求本次課程設(shè)計(jì)可以從以下的題目中任選其一,每個(gè)

溫馨提示

  • 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)論