




版權(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í)驗(yàn)報(bào)告題目名稱(chēng): 指導(dǎo)教師: 姓 名: 學(xué) 號(hào): 專(zhuān)業(yè)班級(jí):床位的分配與回收林立新、漆華妹xx090910xxxx通信工程100x班2012-7-3數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)是配合數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)課程與實(shí)驗(yàn)教學(xué)的一個(gè)非常重要的 教學(xué)環(huán)節(jié)。它是通信工程專(zhuān)業(yè)學(xué)生的重要基礎(chǔ)實(shí)踐課,能鞏固程序編輯的理論知 識(shí),提高程序設(shè)計(jì)水平,加強(qiáng)綜合分析問(wèn)題和解決問(wèn)題的能力,進(jìn)一步培養(yǎng)學(xué)生 的實(shí)驗(yàn)技能和動(dòng)手能力,啟發(fā)學(xué)生的創(chuàng)新意識(shí)及創(chuàng)新思維。完成本次課程設(shè)計(jì), 對(duì)進(jìn)行畢業(yè)設(shè)計(jì)及畢業(yè)后從事相關(guān)工作都有很大的幫助。同時(shí),數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)科學(xué)中是一門(mén)綜合性的專(zhuān)業(yè)基礎(chǔ)課數(shù)據(jù)結(jié)構(gòu) 的研究不僅涉及到計(jì)算機(jī)的硬件的研究范圉,
2、而且和計(jì)算機(jī)軟件的研究有著更密 切的關(guān)系,無(wú)論是編譯稈序還是操作系統(tǒng),都涉及到數(shù)據(jù)元素在存儲(chǔ)器中的分配 問(wèn)題。在研究信息檢索時(shí)也必須考慮如何組織數(shù)據(jù),以便查找和存取數(shù)據(jù)元素更 為方面。因此,可以認(rèn)為數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件三者之 間的一門(mén)核心課程在計(jì)算機(jī)科學(xué)中,數(shù)據(jù)結(jié)構(gòu)不僅是一般程序設(shè)計(jì)的基礎(chǔ),而口 是設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)及其它系統(tǒng)程序和大型應(yīng)用程序 的重要基礎(chǔ)??梢?jiàn),學(xué)好數(shù)據(jù)結(jié)構(gòu)以及認(rèn)真對(duì)待數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)對(duì)我們十分重要,此次 我們小組做的是“模擬旅館管理系統(tǒng)的一個(gè)功能一一床位的分配與回收”,為了 能夠保質(zhì)保量的完成老師交給我們的任務(wù),我小組積極查閱圖書(shū)
3、館及網(wǎng)上的各項(xiàng) 資源,認(rèn)真對(duì)待每一次的上機(jī)課程,力求盡自己最大的努力,將這項(xiàng)課程設(shè)計(jì)做 好。一、課題設(shè)計(jì)任務(wù)及要求31 問(wèn)題描述32. 基本要求 33. 實(shí)現(xiàn)提示 3二、需求分析 4三、系統(tǒng)的概要設(shè)計(jì)41功能模塊的劃分42 參考的adt 5四、程序設(shè)計(jì)思路 71. 建立結(jié)構(gòu)體及鏈表 72. 算法的描述7五、程序的調(diào)試與分析 91 測(cè)試數(shù)據(jù)92 測(cè)試結(jié)果9六、用戶(hù)使用說(shuō)明101. 程序運(yùn)行環(huán)境 102 程序主界面 103 相關(guān)程序各項(xiàng)說(shuō)明 10七、調(diào)試過(guò)程中出現(xiàn)的問(wèn)題及心得體會(huì) 12八、心得體會(huì)13附錄:程序的源代碼 14課題設(shè)計(jì)任務(wù)及要求1 問(wèn)題描述:某旅館有n個(gè)等級(jí)的房間,第i等級(jí)有心個(gè)房間
4、,每個(gè)等級(jí)有$個(gè)床位 (lwiwn)。試模擬旅館管理系統(tǒng)中床位分配和回收的功能,設(shè)計(jì)能為單個(gè)旅 客分配床位,在其離店便回收床位(供下次分配)的算法。2. 基本要求:(1) 輸入數(shù)據(jù)對(duì)房間信息進(jìn)行初始化,包括房間的類(lèi)別、數(shù)量以及房間和床位的計(jì)費(fèi)標(biāo)準(zhǔn);分配時(shí),輸入旅客姓名、年齡、性別、到達(dá)日期和所需房間等級(jí);冋收吋,輸入房間等級(jí)、房間號(hào)和床位號(hào)。(2) 輸出數(shù)據(jù)分配成功時(shí)打印旅客姓名、年齡、到達(dá)h期、房間等級(jí)、房間號(hào)碼和床位號(hào) 碼。分配不成功時(shí),如所有等級(jí)均無(wú)床位,則打印“客滿(mǎn)”信息;如旅客需要的 等級(jí)均無(wú)空床位,則打印“是否愿意更換等級(jí)? ”的詢(xún)問(wèn)信息。若旅客愿意更換, 則重新輸入有關(guān)信息,再進(jìn)
5、行分配,否則分配工作結(jié)束。(3) 結(jié)帳管理在旅客離開(kāi)時(shí)計(jì)算房費(fèi),并打卬賬單,賬單格式自行設(shè)計(jì),要求信息齊全、 清晰。(4) 對(duì)旅客信息和房間信息以及收費(fèi)標(biāo)準(zhǔn)采用文件的形式存儲(chǔ)也可以在程序中 初始化。3. 實(shí)現(xiàn)提示:數(shù)據(jù)結(jié)構(gòu):主要采用順序結(jié)構(gòu)鏈接結(jié)構(gòu)的線(xiàn)性表及堆棧。每個(gè)房間用一個(gè)如下所示的具有五個(gè)字段的結(jié)點(diǎn)(房結(jié)點(diǎn))表示:性別房間號(hào)現(xiàn)有空床數(shù)btoprl1nk其中,性別:0表示房間為空狀態(tài)1表示房間分配給女旅客2表示房間分配給男旅客現(xiàn)有空床數(shù):數(shù)據(jù)在0b之間,其中b是第i等級(jí)一個(gè)房間的床位數(shù),當(dāng) 現(xiàn)有空床數(shù)為b時(shí),表示房間為空;為0時(shí),表示房間滿(mǎn)。rlink:當(dāng)房間空時(shí),用作空房棧的連接;當(dāng)房間
6、不空時(shí),指向下一個(gè)房結(jié) 點(diǎn)。btop:指向該房間的空床號(hào)棧棧頂。一個(gè)房間對(duì)應(yīng)一個(gè)順序表示的空床號(hào)棧。 棧的容量為b,棧中存放空床號(hào)。分配時(shí),從棧頂取出空床號(hào),棧頂下移(btop二bt0p+1);回收時(shí),棧頂上移(btop二bt0p-1),將回收的空床號(hào)填入棧 頂。每一個(gè)等級(jí)中的空房間構(gòu)成一個(gè)空房棧;已住旅客的房間構(gòu)成一個(gè)鏈棧(簡(jiǎn) 稱(chēng)房鏈),其頭結(jié)點(diǎn)結(jié)構(gòu)如下:可分配女床位總數(shù)可分配男床位總數(shù)%bittoprlink其中:ai:第i等級(jí)中房間總數(shù) b第i等級(jí)中每個(gè)房間的床位數(shù)可分配男、女床位的總數(shù)的初值等于*bj,因?yàn)殚_(kāi)始時(shí)所有房間和床位既 可以分配給男旅客,也可以分配給女旅客。當(dāng)在房鏈中分配一個(gè)
7、床位給男(女) 旅客,床位總數(shù)應(yīng)減1;當(dāng)從空房棧中取出一個(gè)房間作為男(女)旅客房間時(shí), 則可分配女(男)床位總數(shù)應(yīng)減b,當(dāng)回收一個(gè)男(女)床位時(shí),則可分配男(女) 床位總數(shù)應(yīng)加1;當(dāng)回收一個(gè)男(女)空房至空房棧吋,則可分配女(男)床位 總數(shù)應(yīng)加biott0p:指向本級(jí)空房棧棧頂,當(dāng)無(wú)空房間時(shí),ttopj (nil)。rlink:指向本級(jí)房鏈第一個(gè)頂點(diǎn),當(dāng)房鏈為空時(shí),rlink= (nil)順序表s二(so, s|, , si, sn),其中,s-s“順序存放第ln等級(jí)房間的頭 結(jié)點(diǎn);so存放內(nèi)容如下所示:全丿占可分配女床總 數(shù)全店可分配女床 總數(shù)00初始時(shí),全店可分配男、女床總數(shù)相同,均為在分
8、配或回收時(shí),對(duì)各等級(jí)可分配男(女)床位總數(shù)處理的同時(shí)也要對(duì)全店可分配男(女)床總數(shù)作相 應(yīng)處理,當(dāng)全丿占可分配男(女)床總數(shù)等于零時(shí),表示客滿(mǎn)。二.需求分析經(jīng)分析,程序要有以下功能: 對(duì)旅館信息進(jìn)行初始化; 在旅客到來(lái)時(shí)記錄旅客信息并為其分配床位; 在旅客離開(kāi)時(shí)為其打印賬單,并回收其床位; 在輸入過(guò)程屮對(duì)輸入的數(shù)據(jù)進(jìn)行檢查,以防止輸入超出范圍的信息。三.系統(tǒng)的概要設(shè)計(jì)1. 功能模塊的劃分程序功能模塊劃分下圖所示:22.參考的adtadt list 數(shù)據(jù)對(duì)象: 數(shù)據(jù)關(guān)系:d= ai aig elemset, i=l, 2,., n, n20 r1 = <ai-i , a, > | ,
9、丘 d, i=2,., n adt設(shè)計(jì)使用線(xiàn)性表和棧:基本操作:initlist( &l )操作結(jié)果:構(gòu)造一個(gè)空的線(xiàn)性表l。destroylist ( &l )初始條件:線(xiàn)性表l已存在。 操作結(jié)果:銷(xiāo)毀線(xiàn)性表l olistempty( l )初始條件:操作結(jié)果: listlength(初始條件:操作結(jié)果:線(xiàn)性表l已存在。若l為空表,則返回true,否則返回falseo l )線(xiàn)性表l已存在。返冋l(shuí)中元素個(gè)數(shù)。cur_e, &prc_c )priorelem( l,初始條件:線(xiàn)性表l已存在。操作結(jié)果:若cur_e是l中的數(shù)據(jù)元素,則用pre_e返回它的前驅(qū), 否則操作失敗
10、,pre_e無(wú)定義。cur_e, &next_e ) 線(xiàn)性去l已存玉。若cur_e是l中的數(shù)據(jù)元素,則用next.e返回它的后繼, 否則操作失敗,next_e無(wú)定義。i, &e ) 線(xiàn)性表l已存在, 用e返回l中第 l, e, compare () 線(xiàn)性表l已存在, 返回l中第1個(gè)與e滿(mǎn)足關(guān)系compare()的元素的位序。 若這樣的元素不存在,則返冋值為0。listtravcrse(l, visit()初始條件:線(xiàn)性表l已存在,visit()為元素的訪(fǎng)問(wèn)函數(shù)。操作結(jié)果:依次對(duì)l的每個(gè)元素調(diào)用函數(shù)visit( )o一旦visit()失敗,則操作失敗。clearlist ( &a
11、mp;l )初始條件:線(xiàn)性表l已存在。操作結(jié)果:將l重置為空表。nextelem( l, 初始條件: 操作結(jié)果:getelem( l, 初始條件: 操作結(jié)果:locateelem( 初始條件: 操作結(jié)果:cur e1 wiwlengthlist (l)。i個(gè)元素的值。)compare ()是元素判定函數(shù)。putelem( &l, i, &e )初始條件:線(xiàn)性表l已存在,lwiwlengthlist(l)。 操作結(jié)果:l屮第i個(gè)元素賦值同e的值。listinsert( &l, i, e )初始條件:線(xiàn)性表l已存在,lwiwlengthlist(l)+l。操作結(jié)果:在l的第
12、i個(gè)元素之前插入新的元素e, l的長(zhǎng)度增lo listdelete( &l, i, &e )初始條件:線(xiàn)性表l已存在且非空,lwiwlengthlist (l)。操作結(jié)果:刪除l的第i個(gè)元素,并用e返回其值,l的長(zhǎng)度減1。 adt listadt stack 數(shù)據(jù)對(duì)象:d=ai| aielemset, i 二 1,2,no 數(shù)據(jù)關(guān)系:rl= < ai-b ai >| ai-b aed, i=2,., n 約定an端為棧頂,&端為棧底?;静僮鳎簍ni tstack(&s)操作結(jié)果:構(gòu)造一個(gè)空棧sodestroystack(&s)初始條件:棧s
13、已存在。 操作結(jié)果:棧s被銷(xiāo)毀。clearstack(&s)初始條件: 操作結(jié)果:棧s已存在。 將s清為空棧。stackempty (s) 初始條件:棧己存在。操作結(jié)果:若棧s為空棧,則返冋true,否則返冋f(shuō)alse。stacklcngth(s)初始條件:棧s已存在。操作結(jié)果:返回棧s中元素個(gè)數(shù),即棧的長(zhǎng)度。gettop (s, &e)初始條件:棧s已存在且非空。操作結(jié)果:用e返回s的棧頂元素。push (&s, e)初始條件:棧s已存在。操作結(jié)果:插入元素e為新的棧頂元素。pop (&s, &e)初始條件:棧s已存在且非空。stacktraverse
14、 (s, 初始條件:棧s操作結(jié)果:刪除s的棧頂元素,并用e返回其值。visit()已存在且非空,visit ()為元素的訪(fǎng)問(wèn)函數(shù)。操作結(jié)果:從棧底到棧頂依次對(duì)s的每個(gè)元素調(diào)用函數(shù)visit(),一旦visit()失敗,則操作失敗。 adt stack程序設(shè)計(jì)思路1. 建立結(jié)構(gòu)體及鏈表 建立旅館房間結(jié)構(gòu)體及其信息類(lèi)型,如下:typedef struct node int roomgrade;/房間等級(jí)int roomnumbcr; /m i'jint peoplein;/入住人數(shù) int bedn ;/床號(hào) int sex;/性別struct node *next;/結(jié)構(gòu)體指針room;
15、 建立空的房間鏈表room *creat ()/建立房間的鏈表建立指向房間的指針room *hcad, *p, *q; while (等級(jí)循環(huán))for (房間號(hào)在小于等級(jí)的情況下進(jìn)行循環(huán)) 將p所指向的房間進(jìn)行初始化,賦初值; 讓 q->next=p; head為頭結(jié)點(diǎn);將房間對(duì)等級(jí)循環(huán)建立整個(gè)空旅館鏈表2. 算法的描述 初始化函數(shù)的建立void chushihim (room *head)建立指向房間的room *p指針, 通過(guò)對(duì)每個(gè)房間的查找 并將其恢復(fù)賦初始值 訂房函數(shù)的建立void dingfang(room *head)/訂房間旅客信息的輸入;while (房間不為空)if (
16、房間所需等級(jí)存在并且房間入住的性別一致或者房間為空) for (對(duì)等級(jí)進(jìn)行循環(huán))if (床位為空)將房間號(hào)、床位號(hào)賦值if (如果找到了符合的房間) 跳岀循環(huán);p指向下一個(gè)房間;if (房間號(hào)和床位號(hào)都不為空)打卬:客滿(mǎn);else打印旅客入住信息; 退房函數(shù)的建立void tuifang(room *head)/退房間 建立房間指針room *p;輸入旅客退房的房間號(hào),性別,床號(hào); wh訂e (房間不為空)if (查找到的房間號(hào)與輸入的一致) if (性別與輸入一致)for (循環(huán)等級(jí)) 將此人的所有信息進(jìn)行刪除操作 p指向下一個(gè)房間; 顯示函數(shù)的建立void display (room *h
17、ead)/顯示房間信息 建立房間指針room *p; while (入住人數(shù)不為空)打卬旅客入住的相關(guān)信息for (等級(jí)循環(huán))tf (床位不為空)打印已經(jīng)入住的床位號(hào);p指向下一個(gè)房間五. 程序的調(diào)試與分析1.測(cè)試數(shù)據(jù)a. 打開(kāi)程序后在訂房系統(tǒng)中訂房,可按下圖進(jìn)行:測(cè)試序號(hào)行為姓 名性別年齡房間等 級(jí)1入住a03532入住b13533入住c0353然后進(jìn)行顯示函數(shù)的測(cè)試,將如上數(shù)據(jù)輸入后,打印,看是否顯示正確;b. 進(jìn)行退房函數(shù)測(cè)試,將進(jìn)行退房操作,打印看是否已經(jīng)正確刪除;測(cè)試序 號(hào)行為姓 名性 別年齡房間等 級(jí)1入住a0353c. 進(jìn)行初始化函數(shù)的測(cè)試,選擇初始化操作,點(diǎn)擊打印,看是否可以成
18、功進(jìn)行 初始化;d. 進(jìn)行退岀函數(shù)的測(cè)試,點(diǎn)擊退岀選項(xiàng),看是否可以成功退岀。2. 測(cè)試結(jié)果以上兩項(xiàng)測(cè)試數(shù)據(jù)經(jīng)過(guò)實(shí)際測(cè)試后,其返回值與預(yù)計(jì)返回值相同,證明程序 在數(shù)據(jù)輸入正確的情況下可以正常運(yùn)行。六. 用戶(hù)使用說(shuō)明1.程序運(yùn)行環(huán)境程序名為hotel, cxc,運(yùn)行環(huán)境為window xp。2. 程序主界面歡迎您的光臨,很開(kāi)心為您服務(wù)“菜單*“訂房2:退房3:顯示房間分配情況4:刪除所有信息5:退岀系統(tǒng)請(qǐng)輸入您的選擇d青輸入-5的數(shù)字):運(yùn)行程序后首先顯示圖所示程序主界而: 選擇1:有旅客入??; 選擇2:有旅客退房;選擇3:顯示房間信息;選擇4:刪除所有信息; 選擇5:退出程序;3. 相關(guān)程序各項(xiàng)
19、說(shuō)明旅客入?。哼x擇此項(xiàng)后,程序提示下圖所示界而:*歡迎使用it房 系統(tǒng)*請(qǐng)輸入性別(1為男為女):i請(qǐng)輸入房間等級(jí):<1-10>: 1按照提示依次輸入旅客信息。其中,性別一項(xiàng)0代表男、1代表女,性別取 值0-1,年齡取值16-99,房間等級(jí)取初始時(shí)的房間等級(jí)范圍;如果各項(xiàng)輸入超 出范圍程序會(huì)要求重新輸入。當(dāng)輸入全部信息后,如果旅客選擇的房間等級(jí)有空床位,則程序?yàn)槁每头峙?床位并,如果沒(méi)有則詢(xún)問(wèn)是否更換房間等級(jí);如果旅客愿意更換等級(jí)則輸入新等 級(jí)重新分配床位,如果如果旅客愿意更換等級(jí)則返回程序主界而。當(dāng)床位分配成 功后程序顯示圖:*已訂房間查詢(xún)*房間號(hào)丄房間等級(jí)丄已住人數(shù)丄住人性別:
20、1已住人的床號(hào):1旅客退房:選擇此項(xiàng)后,程序提示下圖所示界面*歡迎使用退房系統(tǒng)*興請(qǐng)輸入房間號(hào)(1為男丄為女):1請(qǐng)輸入性別江請(qǐng)輸入床號(hào)江按照提示依次輸入旅客信息。其中,性別一項(xiàng)0代表男、1代表女,性別取 值0-1,房間號(hào)為已有房間號(hào)碼,床位號(hào)碼0-該級(jí)別每房間床位數(shù);如果各項(xiàng)輸 入超出范圍程序會(huì)要求重新輸入。當(dāng)輸入全部信息后,如果輸入無(wú)誤則可退房成功,否則要求重新輸入數(shù)據(jù)。 顯示房間信息:選擇此項(xiàng)后,程序下圖所示界面,該界面將顯示各等級(jí)男女床位可用數(shù)、該 級(jí)別床位價(jià)格,以及總男女床位可用數(shù)。已訂房間查詢(xún)"房間號(hào)丄房間等級(jí)丄已住入數(shù)丄住人性別記已住入的床號(hào)記退出程序選擇此項(xiàng)后程序?qū)⑼?/p>
21、出。七、調(diào)試過(guò)程中出現(xiàn)的問(wèn)題及心得體會(huì)調(diào)試程序,是軟件開(kāi)發(fā)過(guò)程中的一個(gè)必不可少的環(huán)節(jié),是程序能否止常運(yùn)行 的關(guān)鍵。在程序調(diào)試z前,需要熟練地掌握幾門(mén)必要的匯編語(yǔ)言及熟悉開(kāi)發(fā)環(huán)境,這 樣才能做到事半功倍。以下是調(diào)試過(guò)程中遇到的主要問(wèn)題及解決過(guò)程:1. 清屏問(wèn)題在程序設(shè)計(jì)中,想讓界面顯示美觀(guān),加入清屏函數(shù),可是用clearscreen (): 或者system (” cis”);都不能實(shí)現(xiàn)該功能,經(jīng)查證,看書(shū)等途徑,才知道原 來(lái)是頭文件里沒(méi)包含該函數(shù)的功能。因此,我們將其頭文件加入,則可以正常運(yùn) 行了。2. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)題目已經(jīng)給了數(shù)據(jù)結(jié)構(gòu)的提示,所以開(kāi)始設(shè)計(jì)吋直接使用了已有的結(jié)構(gòu)。但 是在設(shè)計(jì)后
22、續(xù)算法時(shí)發(fā)現(xiàn),現(xiàn)有的結(jié)構(gòu)對(duì)于已經(jīng)住人但還沒(méi)住滿(mǎn)的房間和住滿(mǎn)的 房間沒(méi)有區(qū)分,分配房間時(shí)要把所有房間都檢查過(guò)以后才能找到一個(gè)空床位,這 就導(dǎo)致了程序設(shè)計(jì)比較復(fù)雜。后經(jīng)過(guò)重新設(shè)計(jì),決定分別使用一個(gè)空房間棧存儲(chǔ) 空房間信息,一個(gè)空床棧存儲(chǔ)已經(jīng)住人但還沒(méi)住滿(mǎn)的房間的信息,一個(gè)滿(mǎn)床鏈存 儲(chǔ)已經(jīng)住滿(mǎn)人的房間信息;后經(jīng)過(guò)改進(jìn),除空房棧外其余兩個(gè)均為一個(gè)有兩個(gè)元 素的數(shù)組,分別存儲(chǔ)男女房間信息,這個(gè)直接根據(jù)顧客性別即可到相應(yīng)的鏈或棧 尋找相關(guān)信息,省去了對(duì)己經(jīng)住人的房間的性別判斷,同時(shí)不用在房間結(jié)構(gòu)體上 記錄該房間性別,當(dāng)開(kāi)設(shè)房間數(shù)量比較大以后可以節(jié)省一部分存儲(chǔ)空間。3. 房間分配和回收算法數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)決定了
23、這兩個(gè)算法的思想是很簡(jiǎn)單的:分配房間時(shí)如果有房間 就先看有沒(méi)有沒(méi)住滿(mǎn)的房間,有就直接分配沒(méi)有就開(kāi)一個(gè)空房分配;回收房間時(shí) 如果房間還有其他人就將房間放到相應(yīng)的空床棧,沒(méi)有人就將房間冋收到空房棧 中。不過(guò)在實(shí)現(xiàn)回收算法時(shí)發(fā)現(xiàn)要判斷的東西比較多,程序分別到空床棧和滿(mǎn)房 鏈中尋找房間,而且這兩個(gè)鏈/棧沒(méi)有設(shè)置頭結(jié)點(diǎn),需要對(duì)第一個(gè)結(jié)點(diǎn)單獨(dú)做判 斷,由此導(dǎo)致了回收房間的函數(shù)源代碼有144行之多,難免會(huì)在編寫(xiě)時(shí)出現(xiàn)一些 錯(cuò)誤,帶來(lái)了很大調(diào)試工作量。八、心得體會(huì)這次的課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很非常重要的,只有理論知 識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論屮得出結(jié)論, 才能真
24、正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在整個(gè) 設(shè)計(jì)過(guò)程中,構(gòu)思是很花費(fèi)時(shí)間的。調(diào)試時(shí)經(jīng)常會(huì)遇到這樣那樣的錯(cuò)誤,有的是 因?yàn)榇中脑斐傻恼Z(yǔ)法錯(cuò)誤。當(dāng)然,很多也時(shí)用錯(cuò)了方法,總是實(shí)現(xiàn)不了。同時(shí)在 設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌 握得不夠牢固。根據(jù)我在課程設(shè)計(jì)中遇到得問(wèn)題,我將在以后的學(xué)習(xí)過(guò)程中注意以下幾點(diǎn):1、認(rèn)真上好專(zhuān)業(yè)實(shí)驗(yàn)課,多在實(shí)踐中鍛煉自己。2、寫(xiě)程序的過(guò)程中要考慮周到,嚴(yán)密。3、在做設(shè)計(jì)的時(shí)候要有信心,有耐心,切勿浮躁。4、認(rèn)真的學(xué)習(xí)課本知識(shí),掌握課本屮的知識(shí)點(diǎn),并在此基礎(chǔ)上學(xué)會(huì)靈活運(yùn)5、在課余時(shí)間里多寫(xiě)程序,熟練掌握在調(diào)試程序的
25、過(guò)程中所遇到的常見(jiàn)錯(cuò) 誤,以便能節(jié)省調(diào)試程序的時(shí)間。每個(gè)實(shí)驗(yàn)通常都要花費(fèi)很久的時(shí)間才能理清一個(gè)程序的思路,而且要不斷的 調(diào)試程序才能把程序調(diào)試正確,同時(shí)還要做到界面的輸出也是需要美化的。這次 課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多專(zhuān)業(yè)知識(shí)問(wèn)題,最后在老師的辛 勤指導(dǎo)下,也完成了課程設(shè)計(jì)。通過(guò)這次的課程設(shè)計(jì),讓我更加了解到數(shù)據(jù)結(jié)構(gòu)的重要性。以及它對(duì)我們專(zhuān) 業(yè)的發(fā)展發(fā)揮的作用。對(duì)我們而言,知識(shí)上的收獲很重要,但精神上的豐收更加 可喜。讓我知道了學(xué)無(wú)止境的道理。我們每一個(gè)人永遠(yuǎn)不能滿(mǎn)足于現(xiàn)有的成就, 人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財(cái)富, 經(jīng)歷是一份擁有。這次課程
26、設(shè)計(jì)必將成為我人生旅途上一個(gè)非常美好的回憶!同 時(shí)在做課程設(shè)計(jì)時(shí)要能夠從多方面去考慮,去研究,用多種算法去實(shí)現(xiàn)要求。此 次課程設(shè)計(jì),學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問(wèn)題,出現(xiàn)差錯(cuò) 的隨機(jī)應(yīng)變,這些都讓我受益非淺,今后的制作應(yīng)該能夠更輕松,自己也都能夠 解決并高質(zhì)量的完成項(xiàng)目。附錄:程序的源代碼#include<stdio.h> define n 10房間等級(jí) #include<conio. h> #include<stdlib. h> #includestring. h>typedef struct nodeint roomgrade;in
27、t roomnumber;int peoplein;int bedn;int sex;struct node *next;/結(jié)構(gòu)體指針 room;room *creat ()/建立房間的鏈表room * head, *p, *q;int i二 1, j, m=0, h;wh i1e (i<=n)for(j=l;j<=i;j+)if(i!二 1) | | (j!二 1)q=p;p二new (room);if (i=l)&&(j=l)head=p;p->roomgrade=i;p->roomnumbcr=m+l; p->peoplein=0;p->
28、;sex=-l; /表示一個(gè)人也沒(méi)有 for (h=o;h<i;h+)p->bedh=0;/0表示該床未住人,1表示住人 if(i!=l) i i(j!=l)q->next二p;i+;m+;p->ncxt二null;return (head);void chushihua(room *head) /初始化room *p;int i;p=hcad;while (p!=null)p>peoplein=0; p->scx=-l; for(i=0;i<n;i+) p->bedi=0; p=p->next;printf (z,nnn 操作成功! n,
29、z);void dingfang(room *head)/訂房間room *p;int i, number二0, bednumber二0, s, grade; printf (,znn*歡迎使用訂房系統(tǒng)* nn,/);printf (“printf (,zn請(qǐng)輸入性別(1為男,0為女):");scanf ("%ct, &s);printf (,znn請(qǐng)輸入房間等級(jí):(1-10):);seanf (%d,&grade);p=head;while (p!=null)if (p->roomgrade=grade)&&(p->sex=s)
30、|(p->sex=-l) for (i=0;i<grade;i+) if (p->bedi=0)number=p->roomnumber;bednumber=i+l; p->bedi=l;p->scx=s; p->peoplein+;break;if (number!=0) break;p=p-next;if (number二二0&&bednumber二二0)printf czn不能入住該房間,請(qǐng)重新輸入:n);elseprintf (/z n 房間號(hào):d床號(hào):dn", number, bednumber);void tuifang(room *head)/退房間room *p;int number, bednumber, i, s;printf*歡迎使用退房系統(tǒng)*n);printf (,znn請(qǐng)輸入房間號(hào)(1為男,0為女):);scanf("%ct, &number);printf (,z nn請(qǐng)輸入性別:");scanf (d, &s);pri ntf cznn請(qǐng)輸入床號(hào):);seanf("%d, &bednumber);p=head;while (p!=null)i f (p-roomnumber二二number) if (p-&g
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 打造安全倉(cāng)庫(kù)文化的方法計(jì)劃
- 《貴州金州能鵬礦業(yè)有限公司貴州省晴隆縣老萬(wàn)場(chǎng)金礦(新建)礦產(chǎn)資源綠色開(kāi)發(fā)利用方案(三合一)》評(píng)審意見(jiàn)
- 腰麻術(shù)后護(hù)理常規(guī)
- 企業(yè)網(wǎng)絡(luò)組織與產(chǎn)業(yè)競(jìng)爭(zhēng)力
- 統(tǒng)編版小學(xué)語(yǔ)文二年級(jí)下冊(cè)《語(yǔ)文園地二》精美課件
- 航空維修工程師:飛行安全維修達(dá)人簡(jiǎn)歷
- 能源行業(yè):風(fēng)能工程師個(gè)人簡(jiǎn)歷
- 2025年安徽從業(yè)資格貨運(yùn)資格考試題庫(kù)答案解析
- 2025年南寧貨運(yùn)從業(yè)資格證考試模擬考試答案
- 第六單元課外古詩(shī)詞誦讀《無(wú)題》李商隱教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文九年級(jí)上冊(cè)標(biāo)簽標(biāo)題
- SL176-2007《水利水電工程施工質(zhì)量檢驗(yàn)與評(píng)定規(guī)程》
- 挖掘機(jī)液壓原理動(dòng)作分解
- (高清版)輻射供暖供冷技術(shù)規(guī)程JGJ142-2012
- 重慶危險(xiǎn)性較大的分部分項(xiàng)工程安全管理實(shí)施細(xì)則
- 三菱 PLC FX2N-4AD 4DA 模擬量模塊教材(課堂PPT)
- 有機(jī)金屬化學(xué)1
- JIT標(biāo)準(zhǔn)作業(yè)作業(yè)指導(dǎo)書(shū)
- 土壤固化土施工技術(shù)導(dǎo)則
- VAR模型Johansen協(xié)整檢驗(yàn)在eviews中的具體操作步驟及結(jié)果解釋
- 混凝土面板堆石壩接縫止水
- 加油站法律法規(guī)符合性評(píng)價(jià)
評(píng)論
0/150
提交評(píng)論