![數(shù)據(jù)結構課程設計(旅游信息管理系統(tǒng))_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/10/6df0e58a-d84b-42ce-9490-21512797aceb/6df0e58a-d84b-42ce-9490-21512797aceb1.gif)
![數(shù)據(jù)結構課程設計(旅游信息管理系統(tǒng))_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/10/6df0e58a-d84b-42ce-9490-21512797aceb/6df0e58a-d84b-42ce-9490-21512797aceb2.gif)
![數(shù)據(jù)結構課程設計(旅游信息管理系統(tǒng))_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/10/6df0e58a-d84b-42ce-9490-21512797aceb/6df0e58a-d84b-42ce-9490-21512797aceb3.gif)
![數(shù)據(jù)結構課程設計(旅游信息管理系統(tǒng))_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/10/6df0e58a-d84b-42ce-9490-21512797aceb/6df0e58a-d84b-42ce-9490-21512797aceb4.gif)
![數(shù)據(jù)結構課程設計(旅游信息管理系統(tǒng))_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/10/6df0e58a-d84b-42ce-9490-21512797aceb/6df0e58a-d84b-42ce-9490-21512797aceb5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、旅游信息管理系統(tǒng)數(shù)據(jù)結構課程設計(論文)題 目 旅游信息管理系統(tǒng) 作 者 院 系 信息工程學院 專 業(yè) 信息管理與信息系統(tǒng) 學 號 指導老師 答辯時間 摘 要隨著生活水平的提高,現(xiàn)代科技也日益發(fā)達。日常生活中旅游備受人們喜愛。隨著旅游信息在種類和數(shù)量上的增多,以及涉及的方面相對較廣,旅游信息的管理難度也在增大。同時,伴隨計算機的普及,人們也愿意并習慣通過計算機來獲取信息資源,人們可以在最短的時間內獲信息,然后擬定適合自己的旅游方案,既節(jié)省人力物力又提高工作效率,達到了事半功倍的效果,因此設計一個旅游信息管理系統(tǒng)可解決許多不必要的麻煩。開發(fā)這樣一個程序主要運用了C語言,數(shù)據(jù)結構等面知識。報告主要
2、從信息系統(tǒng)的程序段,對輸入輸出數(shù)據(jù)的要求,系統(tǒng)的功能,以及總體的設計來介紹此旅游信息系統(tǒng)的實現(xiàn)過程。本次畢業(yè)設計開發(fā)的旅游信息管理系統(tǒng)就提供了一個操作的平臺,可以將信息進行分類管理,并以旅游信息所涉及的具體方面作為模塊劃分的依據(jù)。具體內容包括:系統(tǒng)管理員模塊、游客信息模塊、退出系統(tǒng)模塊等,并在這些模塊中完成了添加、修改、刪除、查詢等功能。關鍵詞:C語言,數(shù)據(jù)結構,旅游信息管理 。AbstractWith the improvement of living standards, modern technology has also developed increasingly. Tourism
3、is popular in daily life. Along with the increase in tourist information on the type and quantity, and involves a relatively wide, tourism information management difficulty is also increased. At the same time, along with the popularization of computer, people are willing and habit through the comput
4、er to access to information resources, people can in the shortest possible time received information, suitable for their own travel plan is then developed, both economically and improve work efficiency, to achieve the twice the result with half the effort, so to design a tourism information manageme
5、nt system can solve many unnecessary trouble. Development of such a program mainly using C language, data structure and so on knowledge. Report the procedures section, mainly from the information system to the requirements of input and output data, the function of the system, as well as the overall
6、design to introduce the tourism information system implementation process. This graduate design and development of tourism information management system will provide a platform for operation, to classify the information management, and the specific aspects of tourism information involved as the basi
7、s of module partition. The concrete content includes: the system administrator module, tourist information module, exit system module, etc., and in these modules completed to add, modify, delete, query and other functions. Key words: C language, data structure, tourism information management 旅游信息管理系
8、統(tǒng)是對旅游信息資源進行管理的系統(tǒng)。隨著旅游信息在種類和數(shù)量上的增多,以及涉及的方面相對較廣,旅游信息的管理難度也在增大。伴隨計算機的普及,人們也愿意并習慣通過計算機來獲取信息資源,人們可以在最短的時間內獲信息,然后擬定適合自己的旅游方案,既節(jié)省人力物力又提高工作效率,達到了事半功倍的效果。目錄摘 要1Abstract21緒論11.1 課題背景及研究意義11.1.1 課題背景11.1.2 研究意義11.2 課題研究的主要內容11.3小結12需求分析32.1功能需求32.2數(shù)據(jù)需求32.2.1設計思路32.2.2旅游信息管理系統(tǒng)的數(shù)據(jù)42.3 性能需求52.4 系統(tǒng)的可行性分析52.4.1 技術可
9、行性52.4.2 經(jīng)濟可行性52.4.3 操作可行性52.4.4 可行性研究結論52.5小結63系統(tǒng)設計73.1系統(tǒng)設計方案73.2系統(tǒng)模塊設計83.2.1管理員功能模塊設計93.2.2游客功能模塊設計113.3小結134調試與測試144.1 調試144.2 測試144.2.1測試的數(shù)據(jù)及結果144.3 小結205總 結215.2 設計收獲215.3 改進21結束語22參考文獻23附錄24111緒論1.1 課題背景及研究意義1.1.1 課題背景隨著時代的發(fā)展,計算機普遍被用于各個行業(yè)。計算機能夠快速、準確的服務于人們,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復雜的系統(tǒng)功能,計算機
10、能夠充分發(fā)揮它的優(yōu)越性。隨著計算機科學的日漸成熟以及互聯(lián)網(wǎng)的普及,計算機網(wǎng)絡對人們的影響日漸明顯。旅游信息管理作為其中之一的功能,尤在年輕人中有著較為廣泛的應用。1.1.2 研究意義社會的發(fā)展,以及計算機的普及,很多地方已經(jīng)開始大量的使用計算機相關系統(tǒng)為人們服務。開發(fā)一個旅游信息管理系統(tǒng)是非常有必要的。采用旅游信息管理系統(tǒng)進行旅游信息管理,進一步提高了旅游服務業(yè)的效益和現(xiàn)代化水平。為廣大旅游愛好者提供了方便,實現(xiàn)數(shù)據(jù)處理的準確化、高效率化。采用旅游管理系統(tǒng),有著手工管理無法比擬的優(yōu)點。例如:準確率高、時效性強、可靠性高等。1.2 課題研究的主要內容旅游信息管理系統(tǒng)基本功能要求:1旅游地點的插入
11、。2游客報名。3當某地的旅游人數(shù)少于三個人時,取消次旅游地,建議游客改選其他旅游點。4當某旅游地旅游人數(shù)等于六個時,不允許在報名,建議游客改選其它旅游地。1.3小結本章主要對旅游信息管理系統(tǒng)的背景以及研究意義做以介紹。旅游信息管理系統(tǒng)的研究開發(fā)在學生的學習中使用及普及有廣闊的空間。本章后面,主要對課題的主要工作進行規(guī)劃以及對本系統(tǒng)的論文結構進行簡單的規(guī)劃描述。2需求分析2.1功能需求本系統(tǒng)的功能模塊,包括旅游公司管理人員模塊、游客模塊、退出模塊,這些功能模塊主要是面向管理員、游客二個實體對象的需求而設計的,并且以游客和管理員為主體。管理員通過密碼進入管理員模塊,管理員可以進行的操作有:旅游地點
12、的插入即管理員插入可供游客報名的旅游地點、各旅游地游客人數(shù)查詢即查詢各個旅游地報名人數(shù)情況、顯示不足3人旅游地點即旅游地中報名人數(shù)少于3人的旅游地。游客進入游客模塊,可以進行的操作有:游客報名即游客輸入個人信息后就可報名成功、查詢所有旅游地點即查詢旅游公司提供的所以可供游客出游的旅游地、查詢可報旅游地點即查詢沒有報滿的旅游地、修改旅游地點即修改游客自己的旅游地或個人信息。2.2數(shù)據(jù)需求2.2.1設計思路 圖2-1系統(tǒng)結構圖2.2.2旅游信息管理系統(tǒng)的數(shù)據(jù)旅游公司管理人員對旅游人員和旅游地點的操作,用二叉排序樹管理旅游地點。主要有地點的變更,插入、刪除、游客的信息存儲及及時提醒等功能。其中二叉樹
13、每一個結點包括旅游地點的區(qū)號(area_node)、名稱(area)、該旅游地的游客人數(shù)(count)、以及一個指向游客信息結構的指針(list),還有二叉樹結點的左孩子和右孩子指針(lchild,rchild)。游客可以登陸旅游公司界面進行報名、選擇旅游地點和輸入個人信息。游客結構采用單鏈表,其中包括單鏈表的初始化、插入、刪除、計數(shù)功能。其中每一個單鏈表結點包括游客的編號(id)、姓名(name)、性別(sex)、和鏈接鏈表的指針(next)2.3 性能需求系統(tǒng)必須安全可靠、不會出現(xiàn)無故死機狀態(tài)、速度不宜過慢。2.4 系統(tǒng)的可行性分析可行性分析,即用最小的代價、在盡可能短的時間內確定問題是否
14、能夠解決。系統(tǒng)的可行性分析,是針對要設計的系統(tǒng),研究其設計是否存在內外部的必要條件,包括技術上、資金上、經(jīng)濟上、人力資源以及組織管理上的必要條件,同時要分析在目前條件下是否有必要設計這樣一個系統(tǒng)。2.4.1 技術可行性此系統(tǒng)對計算機硬件和軟件的需求并不高,僅需要一臺裝有VC+6.0 、 Window 2000及以上信息服務軟件的計算機即可。一般當前學校或個人電腦完全可滿足要求。對于軟件技術要求,現(xiàn)在的程序設計語言已非常成熟。2.4.2 經(jīng)濟可行性由于本系統(tǒng)是旅游管理系統(tǒng),裝上該應用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當系統(tǒng)投入運行后可以為旅游服務業(yè)節(jié)約大量的人力,物力,財力
15、。所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本。在經(jīng)濟上完全可行。2.4.3 操作可行性本系統(tǒng)的界面設計時充分考慮管理人員和游客的習慣,使得操作簡單;數(shù)據(jù)的輸入輸出時自己進行定義,計算結果準確。2.4.4 可行性研究結論依據(jù)以上因素,本系統(tǒng)開發(fā)項目不僅方便快捷、高效,而且在人們的日常生活中可用性強,從而使本系統(tǒng)開發(fā)者相信該系統(tǒng)開發(fā)出來之后將取得的成功。綜上所述,此項目在技術、操作、經(jīng)濟等上是完全可行的。2.5小結 本章主要對旅游信息管理系統(tǒng)進行了系統(tǒng)的可行性分析、用戶需求分析以及開發(fā)此系統(tǒng)所需要的軟硬件支持,從而得出了以下結論。3系統(tǒng)設計輸出desktop( ) 所謂系統(tǒng)設計,就是根據(jù)目標系統(tǒng)邏輯功
16、能的要求,結合實際情況,采用一定的方法,詳細地確定目標系統(tǒng)的結構和具體實施方案,即建立目標系統(tǒng)的物理模型。本章根據(jù)系統(tǒng)需求分析,即“做什么”,詳細設計了上機實驗輔助系統(tǒng)的功能模塊,解決了“如何做”的問題。3.1系統(tǒng)設計方案系統(tǒng)采用菜單設計,選擇你需要的功能,通過函數(shù)調用,調用相關函數(shù)模塊,實現(xiàn)相應功能 。如圖3-1 圖3-1系統(tǒng)模塊圖 為實現(xiàn)上述程序功能,用二叉排序樹結點結構體表示旅游地信息typedef struct Tree_Placeint area_code; /旅游地區(qū)號string area; /旅游地名稱int count; /記錄該旅游地報名游客人數(shù)struct Tree_Pl
17、ace *lchild,*rchild; Trist *list; /指向游客所在單鏈表的指針 Place,*TPlace; 左孩子 區(qū)號 地名 游客數(shù) 右孩子 指向鏈表的指針鏈表結點結構體表示游客信息typedef struct touriststring name; /姓名int id; /身份證號string sex;struct tourist *next;Trist,*linklist;3.2系統(tǒng)模塊設計在前面的需求分析時,我們已經(jīng)分析了本系統(tǒng)的功能,包括旅游公司管理人員模塊、游客模塊、推出模塊,這些功能模塊主要是面向管理員、游客二個實體對象的需求而設計的,并且游客和管理員為主體。圖
18、4.1中給出了系統(tǒng)總體功能圖。下面我們將對各個模塊的功能進行設計。系統(tǒng)通過主函數(shù)main()開始調用各個模塊功能;main() /主函數(shù) TPlace T=NULL; /初始化旅游地區(qū)號,名稱、報名人數(shù)、單鏈表 Mainlist(T); /調用函數(shù)輸出購票歡迎界面 圖4-1 系統(tǒng)總體功能圖3.2.1管理員功能模塊設計本模塊主要是由管理員使用的,管理員使用密碼進行登陸,登陸后才能夠正常進行實驗操作,進入管理員系統(tǒng),管理員可以輸入新增旅游地點、查詢已報名游客人數(shù)、顯示不足3人的旅游地點。圖4-2管理員功能圖系統(tǒng)運行,主函數(shù)main()調用界面函數(shù)輸出歡迎界面,void Mainlist(TPlac
19、e &tree) system("cls"); printf(" *nn"); printf(" 歡迎登陸旅游購票系統(tǒng)nn"); printf( " 請選擇登錄身份:n"); printf(" 1、旅游公司管理人員nn"); printf(" 2、游客nn"); printf( " 3、退出程序nn"); printf(" *nn" ); int n,key,i=1; /定義n為選擇代號、key為管理人員密碼、i為限制次數(shù) sc
20、anf("%d",&n); /登錄者輸入要進入的代號,系統(tǒng)判斷 switch(n) case 1: do printf("請輸入登陸密碼:"); scanf("%d",&key);i+; while(key!=12345&&i<=3); /密碼在3次之內輸入正確跳出循環(huán)結構 if(key=12345) Tour_1(tree); /密碼輸入正確,調用函數(shù)Tour_1 else Mainlist(tree); /3次輸入錯誤再次跳躍Mainlist_函數(shù)輸出歡迎界面 break;旅游公司管理人員輸入
21、正確密碼,調用管理員函數(shù)模塊,進入管理員函數(shù);void Tour_1(TPlace &tree) /管理員函數(shù)system("cls"); printf(" *nn");printf(" 1、輸入旅游地點 n");printf(" 2、查詢各旅游地游客人數(shù)n");printf(" 3、顯示不足三人的旅游地n");printf(" 4、退出n");printf(" *nn");int n; /定義n為選擇代號scanf("%d",
22、&n); switch(n) case 1: Fun1(tree);break; /輸入旅游地點 case 2: Fun2(tree,1);break; /查詢各旅游地游客人數(shù) case 3: Fun3(tree,1);break; /判斷對應的值顯示不足三人的旅游地 case 4: Mainlist(tree);break; /再次調用Mainlist_函數(shù)退出,輸出歡迎界面 default :printf("輸入錯誤,請重新輸入!n"); system("pause"); Tour_1(tree); /調用Tour_1函數(shù),輸出界面 管理員模
23、塊通過內部代碼,調用相關函數(shù),實現(xiàn)管理員模塊相關功能3.2.2游客功能模塊設計本模塊是游客使用,游客使用游客身份證號進行登陸,可以輸入旅游地區(qū)好查找旅游地、查看所有旅游地、查詢可報旅游地點、修改以報旅游地點等。圖4-3給出了本模塊的功能圖。圖4-3游客功能圖系統(tǒng)運行進入歡迎界面,通過條件判斷,調用函數(shù)Tour_2(進入游客模塊函數(shù)void Tour_2(TPlace &tree) /游客函數(shù)功能模塊 int code; /存放旅游地區(qū)號 system("cls");printf(" *nn");printf(" 1、輸入旅游地區(qū)號n &
24、quot;);printf(" 2、顯示所有旅游地n");printf(" 3、查詢可報名地n");printf(" 4、修改旅游地點n");printf(" 5、退出n") ;printf(" *nn"); int n; /存放數(shù)字代號scanf("%d",&n); switch(n) case 1: printf("請輸入?yún)^(qū)號:n"); scanf("%d",&code); Search_T(tree,code);
25、/輸入旅游地區(qū)號 break; case 2: Fun2(tree,2);break; /顯示所有旅游地 case 3: Fun3(tree,2);break; /查詢可報名地 case 4: Fun4(tree);break; /修改旅游地點 case 5: Mainlist(tree);break; /退出 default :printf("輸入錯誤,請重新輸入!n"); system("pause"); Tour_2(tree);游客模塊通過內部代碼,通過switchcase條件判斷,調用相關函數(shù),實現(xiàn)游客模塊相關功能。3.3小結這一章主要對旅游信
26、息系統(tǒng)的系統(tǒng)設計進行描述。在系統(tǒng)設計里,主要對基本功能模塊做以簡單的概述及總體規(guī)劃。4調試與測試4.1 調試調試過程主要是運行編制好的程序,然后遇到錯誤后根據(jù)系統(tǒng)的提示,找到相關的問題所在,并改正。本系統(tǒng)調試過程中遇到的主要問題、原因和解決方法如下面介紹。1)系統(tǒng)提示的錯誤error C2143: syntax error : missing '' before ''到程序段里仔細尋找問題語句,并將其改正。2)、cannot open Debug/Cpp1.exe for writing執(zhí)行窗口沒關閉就修改程序段關閉窗口后從新執(zhí)行程序。4.2 測試軟件測試是軟件
27、生存期中的一個重要階段,是軟件質量保證的關鍵步驟從用戶的角度來看,普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,所以軟件測試應該是“為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程”?;蛘哒f,軟件測試應該根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內部結構而精心設計一批測試用例(即輸入數(shù)據(jù)及其預期的輸出結果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤或缺陷。過度測試則會浪費許多寶貴的資源。到測試后期,即使找到了錯誤,然而付出了過高的代價。4.2.1測試的數(shù)據(jù)及結果界面設計,如圖5-1所示:圖5-1 輸入“1”密碼“12345”進入旅游公司管理人員界面,如圖5-2,5-3所示:圖5-2輸出“1”,進入“輸入旅游地點”
28、模塊,進行旅游地點輸入測試。如圖5-3所示:圖5-3輸出“2”,查詢旅游地人數(shù),如圖5-4所示:圖5-4輸入“3”,顯示不足3人的旅游地,如圖5-5所示: 圖5-5輸入“4”,退出返回歡迎菜單。如圖5-6所示:圖5-6輸入“2”,進入“游客”模塊。如圖5-7所示: 圖5-7輸入“1”,輸入旅游地區(qū)號,查詢旅游地。如圖5-8 圖5-8輸入相關信息報名,如圖5-9 圖5-9輸入“2”顯示所有旅游地,如圖5-10 圖5-10輸入“3”,查詢可報旅游地,如圖5-11 圖5-11輸入“4”,修改旅游地點。如圖5-12 圖5-124.3 小結這一章主要對本系統(tǒng)的部署與測試進行大體描述。本章對系統(tǒng)運行環(huán)境的
29、搭建、系統(tǒng)測試的主要方法進行簡要介紹,并根據(jù)系統(tǒng)測試的方法找出本系統(tǒng)主要錯誤及找出發(fā)生錯誤的原因。5總 結逐步完成系統(tǒng)設計與實現(xiàn)的各個環(huán)節(jié),實現(xiàn)了功能較為完善的旅游信息管理系統(tǒng)。測試中,真切感受到,旅游信息管理系統(tǒng)可以為人們帶來很大便利,管理員也能夠輕松方便管理游客的信息。5.1 遇到難題系統(tǒng)設計期間,遇到了一系列問題,主要是代碼碼問題。實現(xiàn)編程的過程中,需要耐心檢查,改正。同時向老師和同學請教排除編碼過程中的問題。5.2 設計收獲1,經(jīng)過這次課程設計,我對數(shù)據(jù)結構這門課程有了進一步的理解,對C編程,數(shù)據(jù)結構有了一定的提高。另外也提高了我分析問題、解決問題,從而運用所學知識解決實際問題的能力。
30、2.通過這次課程設計,我發(fā)現(xiàn)了自己平時學數(shù)據(jù)結構這門課還有很多沒有注意到的地方。雖然說這次的課題順利完成了,但我對數(shù)據(jù)結構這門課的學習還沒有完成,以后還必須對數(shù)據(jù)結構進行復習鞏固。3.以前在數(shù)據(jù)結構這門課上,我學到的僅僅是理論知識,但這次的課程設計讓我感受到課上的東西用到實際問題的難處。在今后對計算機方面知識的學習中,我要注意理論聯(lián)系實際,這樣才可以把學到的東西運用出來,真正的做到學以致用!5.3 改進在實際項目開發(fā)與知識運用中,自己的知識儲備有很大的空缺,由于實際動手開發(fā)操作的經(jīng)驗不足,系統(tǒng)開發(fā)中顯得有些吃力。為了彌補不足,自己應該在今后的工作、學習、生活中,勤勤懇懇的研究問題,在實踐中學習
31、多動手,多思考,多多總結,并且應該廣泛涉獵,增加知識儲備。借鑒成功的思考方式,探索科學的思考方法,爭取把所學用于實踐,在實踐中學習提高。.通過這次課程設計,我感覺到要真正做出一個程序并不很容易,但只要用心去做,總會有收獲,特別是當我遇到問題,問老師,問同學,想盡辦法去解決,最后終于找到方法時,心里的那份喜悅之情真是難以形容.編寫程序中遇到問題再所難免,應耐心探究其中的原因,從出現(xiàn)問題的地方起,并聯(lián)系前后程序,仔細推敲,逐個排查.直到最終搞清為止。對于數(shù)據(jù)結構有了更深層次的理解,循環(huán)隊列中對邊界條件的處理,滿足什么條件為隊滿,滿足什么條件為隊空。結束語經(jīng)過了為期將近一個月的課程設計,今天終于基本
32、完成了,期間參考了網(wǎng)上相關資料,這期間最大的感受,就是做好課程設計,不僅要細心,更要有耐心,且富有責任心。細心能避免自己因錯誤,需要大量時間修改,浪費精力和時間。耐心就是得堅持做下去,一步一步做下去,雖然還有好多問題不大懂,理解不透但是自己堅持下來了,就是最大的勝利而在課程設計期間,對于數(shù)據(jù)處理和圖形的繪制,使我對這文本文檔的使用更加熟悉,這也為我們以后畢業(yè)設計打下基礎。在設計中,對于過程的步驟該如何進行的考慮,鍛煉我們處理問題的能力。同時在這次設計,我也學到了做事情要一步一個腳印,細心處理每個數(shù)據(jù),這樣才可以順利地完成設計。參考文獻1 嚴蔚敏 吳偉明. 數(shù)據(jù)結構 (C語言版) M. 北京:清
33、華大學出版社, 2011-7-11:15-122.2 譚浩強. C語言程序設計M. (第三版). 北京:清華大學出版社, 2007:17-59.3 張世和. 數(shù)據(jù)結構M. 北京:清華大學出版社, 2004:23-77.4 高一凡. 數(shù)據(jù)結構M. 西安:清華大學出版社, 2002:20-35.5 李健學, 余健. 數(shù)據(jù)結構課程設計案例精編M. 清湖大學出版社, 2007.致謝在這次課程設計過程中,我得到了許多人的幫助。首先我要感謝我的老師在課程設計上給予我的指導和提供給我的支持和幫助,這是我能順利完成這次報告的主要原因。更重要的是老師幫我解決了許多技術上的難題,讓我能把系統(tǒng)做得更加完善。在此期間
34、,我不僅學到了許多新的知識,而且也開闊了視野,提高了自己的設計能力。在學習中老師嚴謹?shù)闹螌W態(tài)度、豐富淵博的知識、敏銳的學術思維、精益求精的工作態(tài)度以及侮人不倦的師者風范是我終生學習的楷模,老師們的高深精湛的造詣與嚴謹求實的治學精神,將永遠激勵著我。課程設計期間,還得到眾多老師的關心、支持和幫助。在此,謹向老師們致以衷心的感謝和崇高的敬意! 同時,感謝校方給予我這樣一次機會,能夠獨立地完成一個課程設計,并在這個過程當中,給予我們各種方便,使我們在這學期快要結課的時候,能夠將學到的知識應用到實踐中,增強了我們實踐操作和動手應用能力,提高了我獨立思考的能力。感謝老師和同學給自己的指導和幫助,是他們教
35、會了我專業(yè)知識,教會了我如何學習。正是由于他們,我才能夠順利的完成這次數(shù)據(jù)結構課程設計,在此向他們表示我由衷的謝意。附錄#include<stdio.h>#include<stdlib.h>#include<string>#define MAX 50#define SIZE 12typedef struct tourist /定義結構體 char nameSIZE; /姓名 int id; char sex5; struct tourist *next; /調用自身定義指針Trist,*linklist;typedef struct Tree_Place /
36、定義結構體 int code; /旅游地區(qū)號 char areaSIZE; /旅游地名稱 int count; /記錄該旅游地報名游客人數(shù) struct Tree_Place *lchild,*rchild; /調用自身定義指針 Trist *list; /指向游客所在單鏈表的指針 Place,*TPlace;void Search_T(TPlace &tree,int co);void Mainlist(TPlace &tree);void Tour_1(TPlace &tree);void Tour_2(TPlace &tree);void Destory(
37、TPlace &tree); main() /主函數(shù) TPlace T=NULL; /初始化旅游地區(qū)號,名稱、報名人數(shù)、單鏈表 Mainlist(T); /調用函數(shù)輸出購票歡迎界面 void Init_L(linklist &head) head=NULL;void Insert_L (TPlace &tree,TPlace &t,linklist &head) linklist tr; char c; int i=1,co,id; while(t->count<6&&i=1) printf("請輸入你的身份證號n&
38、quot;); scanf("%d",&id); tr=(linklist)malloc(sizeof(Trist); tr->id =id; printf("輸入姓名,性別:n"); scanf("%s,%s",&tr->name,&tr->sex) ; tr->next=head; head=tr;t->count+; printf("繼續(xù)報名請按1,按0退出!n"); scanf("%d",&i); if(t->count
39、>=6) printf("此旅游地人數(shù)已滿,按'y'選擇其他旅游地,其他鍵退出!n"); scanf("%d",&c); if(c='y'|c='Y')printf("請重新輸入?yún)^(qū)號n");scanf("%d",&co);Search_T(tree,co); else Tour_2(tree);void Delet_L (linklist &head) linklist p,pro; pro=head; while(pro) p=pro
40、;pro=p->next ;free(p); void Insert_T(TPlace &tree,TPlace p) /在二叉排序樹中插入一個新結點 if (tree=NULL) tree=p; else if(p->code<tree->code) Insert_T(tree->lchild,p); else if(p->code>tree->code) Insert_T(tree->rchild,p);void Search_T(TPlace &tree,int co) char c; /存放Y TPlace p; i
41、nt code; p=tree; /旅游地信息賦給結構體P while(p&&p->code!=co ) if(p->code>co) p=p->lchild ; else p=p->rchild ; if(!p)printf( "此旅游地點還未存在!n");system("pause");Tour_2(tree); /返回游客界面 else if(p->count>=6) /報名人數(shù)多于6人時 printf("此旅游地人數(shù)已滿,按'y'選擇其他旅游地,其他鍵退出!n&q
42、uot;); scanf("%c",&c); if(c='y'|c='Y') printf("請重新輸入?yún)^(qū)號n");scanf("%d",&code);Search_T(tree,code); /繼續(xù)調用自身else Tour_2(tree); /其他鍵返回游客界面 else printf("可以報名n"); Insert_L(tree,p, p->list); Tour_2(tree); TPlace Delete_T(TPlace &t,int co
43、) TPlace p,parent,s,q; /parent指向要刪除的節(jié)點的雙親,p指向要刪除的節(jié)點 p=t; parent=NULL; while(p) if(p->code=co) break; parent=p; if(p->code>co) p=p->lchild; else p=p->rchild; if(p=NULL) /不存在該樹節(jié)點 return t; if(p->lchild=NULL) /無左子樹,右子樹可有可無 if(parent=NULL) t=p->rchild; else if(parent->lchild=p) p
44、arent->lchild=p->rchild; else parent->rchild=p->rchild; Delet_L (p->list); free(p); else /有左子樹,右子樹可有可無 q=p; s=q->lchild; / while(s->rchild) q=s; s=s->rchild; if(q=p) /其左孩子沒有右子樹 q->lchild=s->lchild; else q->rchild=s->lchild; p->code=s->code;Delet_L (s->lis
45、t); free(s); return t; void Fun1(TPlace &tree) char c; /存放Y或y int n,i; /n儲存插入地點個數(shù),i是中間變量 TPlace p; /定義結構體變量P printf("請輸入插入地點個數(shù):n");scanf("%d",&n);printf("依次輸入各個旅游地點的區(qū)號和地名:n"); for( i=0;i<n;i+) p=(TPlace)malloc(sizeof(Place); /新建結店 printf("請輸入第%d個地點:n&quo
46、t;,i+1); scanf("%d%s",&p->code,&p->area) ;/輸入?yún)^(qū)號和地名,空格鍵隔開 p->lchild =p->rchild =NULL; /樹的左右孩子為空 p->list=NULL; /指向游客的單鏈表為空 p->count =0; /初始化報名人數(shù)為0 Insert_T(tree,p); printf("輸入完成,輸入y或者Y繼續(xù)操作,其他鍵退出!");scanf("%c",&c);if(c='y'|c='Y'
47、;) Fun1(tree); /繼續(xù)調用自身輸入旅游地else system("cls");Tour_1(tree); /請屏,調用函數(shù)Tou_1,返回上一界面void Fun2(TPlace &tree,int x) int top=0; TPlace p,sMAX; p=tree; while(p|top>0) while(p) stop+=p; p=p->lchild; if(top>0) p=s-top; printf("區(qū)號:%d 地名:%s 人數(shù):%d",p->code,p->area,p->cou
48、nt); printf("n"); p=p->rchild; if(tree=NULL)printf("還未錄入旅游地!請稍后查詢!n"); printf("按任意鍵返回上一級菜單!n"); system("pause"); if(x=1)Tour_1(tree); /返回管理員界面 if(x=2) Tour_2(tree); /返回游客界面void Fun3(TPlace &tree,int x) int n1=0,n2=0; char c; int top=0; int elemMAX; TPla
49、ce p,sMAX; p=tree; while(p|top>0) while(p) stop+=p; p=p->lchild; if(top>0) p=s-top; if(p->count<3&&x=1) printf("區(qū)號:%8d地名:%8d人數(shù):%8d",p->code,p->area,p->count); printf("n"); elemn1=p->code ;n1+; if(p->count<6&&x=2) printf("區(qū)號:%8d地名:%8d人數(shù):%8d",p->code,p->area,p->count); printf("n"); ;n2+; p=p->rchild; if(x=1)printf("一共有%d各旅游景點人數(shù)少于三個n&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年房產(chǎn)大數(shù)據(jù)合作協(xié)議書
- 2025年低壓化成箔合作協(xié)議書
- 2025年減震系統(tǒng)材料合作協(xié)議書
- 2025年個人店鋪租賃合同樣本(三篇)
- 2025年中學設備供貨合同(2篇)
- 2025年二年級初中班主任工作總結樣本(五篇)
- 2025年二手房買賣購房合同樣本(2篇)
- 2025年個人房屋簡易租賃合同樣本(4篇)
- 2025年代理記賬委托協(xié)議合同格式版(2篇)
- 2025年互聯(lián)網(wǎng)專線電路接入服務協(xié)議范文(2篇)
- 同等學力英語申碩考試詞匯(第六版大綱)電子版
- 中日合同范本
- T-CARM 002-2023 康復醫(yī)院建設標準
- 《康復按摩知識》課件
- SJG 112-2022 既有建筑幕墻安全性鑒定技術標準高清最新版
- 旅游文本的翻譯課件
- 最全新能源材料-鋰離子電池材料189張課件
- 申論詳解(PPT課件)
- 立式加工中心說明書
- 第八版神經(jīng)病學配套課件-12-中樞神經(jīng)系統(tǒng)感染性疾病
- 15MW風力發(fā)電機
評論
0/150
提交評論