數據結構課程設計報告運動會分數統(tǒng)計_第1頁
數據結構課程設計報告運動會分數統(tǒng)計_第2頁
數據結構課程設計報告運動會分數統(tǒng)計_第3頁
數據結構課程設計報告運動會分數統(tǒng)計_第4頁
數據結構課程設計報告運動會分數統(tǒng)計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、- 1 - 目 錄 第 1 章 運動會分數統(tǒng)計需求分析.- 3 - 1.1 問題描述.- 3 - 1.2 基本要求.- 3 - 1.3 測試數據.- 3 - 第 2 章 運動會分數統(tǒng)計程序概要設計.- 3 - 2.1 結構體.- 3 - 2.2 主程序(main).- 4 - 2.3 程序模塊機之間的調用關系流程圖.- 4 - 第 3 章 運動會分數統(tǒng)計程序詳細設計.- 5 - 3.1 宏定義.- 5 - 3.2 數據類型定義.- 5 - 3.3 算法設計.- 5 - 3.3.1 函數之間的調用關系.- 5 - 3.3.2 主要算法的設計思想:.- 6 - 第 4 章 運動會分數統(tǒng)計系統(tǒng)調試分

2、析.- 6 - 第 5 章 運動會分數統(tǒng)計系統(tǒng)測試結果.- 6 - 第 6 章 運動會分數統(tǒng)計系統(tǒng)用戶手冊.- 9 - 6.1 運行環(huán)境.- 9 - 6.2 用戶界面.- 10 - 6.3 操作過程.- 10 - 第 7 章 航空訂票系統(tǒng)需求分析.- 12 - 7.1 問題描述.- 12 - 7.2 系統(tǒng)能實現的操作和功能:.- 12 - 7.2.1 查詢航線:.- 12 - 7.2.2 承辦訂票業(yè)務:.- 12 - 7.2.3 退票業(yè)務:.- 12 - 第 8 章 航空訂票系統(tǒng)概要設計.- 12 - 8.1 系統(tǒng)結構圖(功能模塊圖).- 12 - 8.2 功能模塊說明.- 13 - 第 9

3、章 航空訂票系統(tǒng)詳細設計及運行結果.- 13 - 9.1 顯示已初始化的全部航線信息.- 13 - 9.2 瀏覽已訂票客戶信息.- 14 - 9.3 查詢航線.- 16 - 9.4 辦理訂票業(yè)務.- 17 - 9.5 辦理退票業(yè)務.- 17 - - 2 - 第 10 章 航空訂票系統(tǒng)調試情況,設計技巧及體會.- 19 - 10.1 總體過程.- 19 - 10.2 調試體會.- 19 - 第 11 章 參考文獻.- 20 - 11.1 運動會分數統(tǒng)計系統(tǒng)參考文獻.- 20 - 11.2 航空訂票系系統(tǒng)參考文獻.- 20 - 第 1 章 運動會分數統(tǒng)計需求分析 第 2 章 運動會分數統(tǒng)計程序概要

4、設計 - 3 - 1.1 問題描述 運動會分數統(tǒng)計:參加運動會有 n 個學校,學校編號為 1n。比賽分成 m 個 男子項目,和 w 個女子項目。項目編號為男子 1m,女子 m+1m+w。不同的項目取 前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別 為:5、3、2;哪些項目取前五名或前三名由學生自己設定。 (m=20,n=20) 1.2 基本要求: 1.可以輸入各個項目的前三名或前五名的成績; 2.能統(tǒng)計各學??偡郑?3.可以按學校編號、學??偡帧⒛信畧F體總分排序輸出;可以按學校編號查詢學 4.校某個項目的情況; 5.可以按項目編號查詢取得前三或前五名的學校。 1

5、.3 測試數據 首先進入成績錄入界面,先輸入學校編號 1,再輸入學校 1 各個項目成績 0 或 1(0表示沒獲得該項目的該名次, 1表示獲得了該項目的該名次); 然后再輸入第二個學校編號 2,再輸入成績;當輸入其他的學校編號和成績會提示 錯誤輸入,重新輸入。 1.然后進入總目錄,輸入 :1 統(tǒng)計各學校總分并輸出; 2.輸入:2 按學校編號排序輸出; 4.輸入:3 按學??偡峙判蜉敵觯?5.輸入:4 按男團體總分排序輸出; 6.輸入: 5 按女團體總分排序輸出; 7. 輸入:6 按學校編號查詢學校某個項目情況; 8.輸入:7 按項目編號查詢取得名次的學校; 9.輸入:0 退出系統(tǒng); 10.輸入其

6、他數據會提示錯誤輸入,重新輸入。 第 2 章 運動會分數統(tǒng)計程序概要設計 2.1 結構體 運動項目 - 4 - 項目編號 ;名次; 學校 學校編號;項目;團體總分;男團體總分;女團體總分; 2.2 主程序(main) 包括登陸歡迎程序,分數錄入程序,查詢程序,退出程序。 2.3 程序模塊機之間的調用關系流程圖 圖 2-1 程序模塊機之間的調用關系流程圖 啟動程序 錄入分數 顯示主目錄 統(tǒng)計各學??偡?按學校編號排序 按學??偡峙?序 按女團體總分 排序 按學校編號查詢學校某個項目 情況查詢學校某個項目情況 按男團體總分 排序 按項目編號查詢取得名次的 學校 退出系統(tǒng) 用戶選擇某命令,產生相應的

7、操作 顯示結果,用戶選擇返回主目錄或退出 退出程序 第 3 章 運動會分數統(tǒng)計程序詳細設計 - 5 - 第 3 章 運動會分數統(tǒng)計程序詳細設計 3.1 宏定義: #define n 2 #define bm 4 #define gm 3 3.2 數據類型定義 1.運動項目的定義: struct match int matchnum; int rank3; matbm+gm; 2.學校的定義: struct school int schoolnum; struct match matbm+gm; int total; int boytotal; int girltotal; schn; 3.3

8、算法設計 3.3.1 函數之間的調用關系 圖 3-1 函數之間的調用關系 3.3.2 主要算法的設計思想: main xunhuan totaljisua n input huanyingni funct4 funct6 funct5 funct3 funct2 funct1 funct0 mulu funct7 system - 6 - 本程序主要是使用順序表來實現操作。一個運動會包括運動項目和參加運動會 的學校。因此構造順序表 match,school。為了操作的方便,設計了一個總目錄,選 擇相應序號進入各個操作,并有錯誤提示,每完成一個操作程序會提示選擇返回目 錄或退出程序,對于總分的排

9、序使用了冒泡排序。為了使整個程序界面看起來更加 愜意,又添加了背景和字體顏色設置的程序語句。每個操作前都有操作指南,易于 使用。 第 4 章 運動會分數統(tǒng)計系統(tǒng)調試分析 1.由于剛開始程序比較簡單,雖能運行,但處理錯誤的能力很低,后來經過反 復的添加修改,使程序能處理了錯誤,提高了健壯性。 2.開始編時由于不太規(guī)范,編譯出錯后由于程序長,很難找到錯誤,后來規(guī)范 了格式,錯誤容易找到了,以后編程要規(guī)范。 3.算法的時空分析線性表使用的是順序結構,各種算法的時間復雜度相對比較 合理。 4、本程序相對來說比較容易看明白,其中涉及到的一些函數相對來說比較容易。 通過調試,運行,基本上達到了要求,但還存

10、在一些缺點。如:不夠人性化等。 第 5 章 運動會分數統(tǒng)計系統(tǒng)測試結果 - 7 - 第 5 章 運動會分數統(tǒng)計系統(tǒng)測試結果 5.1 數據輸入 圖 5-1 輸入成績圖 輸入: 請輸入學校編號:1 項目編號123 456 7 第名: 1 0 0 1 1 0 0 第名: 1 1 1 0 0 1 0 第名: 0 0 0 0 1 1 1 請輸入學校編號: 2 項目編號 1 2 3 4 5 6 7 第名: 0 1 1 0 0 1 1 第名: 0 0 0 1 1 0 1 第名: 1 1 1 1 0 0 0 輸入成績后出現總目錄(下圖) ; - 8 - 圖 5-2 輸入成績后出現總目錄圖 1.輸入:1 輸出:

11、 圖 5-3 輸出圖 1 2.輸入:1 返回總目錄,再輸入:2 輸出: 圖 5-3 輸出圖 2 第 5 章 運動會分數統(tǒng)計系統(tǒng)測試結果 - 9 - 3.輸入:1 返回總目錄,再輸入:3 輸出: 5-4 輸出圖 3 4.輸入:1 返回總目錄,再輸入:4 輸出: 圖 5-4 輸出圖 4 5.輸入:1 返回總目錄,再輸入:5 輸出: 圖 5-5 輸出圖 5 6.輸入:1 返回總目錄,再輸入:6,學校編號輸入:1,項目編號輸入:5 輸出: 圖 5-6 輸出圖 6 7.輸入:2,返回上一級,再輸入學校編號:2,項目編號:1 - 10 - 輸出: 圖 5-7 輸出圖 7 8.輸入:1,返回總目錄;再輸入:

12、7,輸入項目編號:7 輸出: 圖 5-8 輸出圖 8 9.如果輸入提示外的數字,例如輸入:4 則輸出錯誤提示: 圖 5-9 輸出圖 9 10.輸入:0 輸出: 圖 5-10 輸出圖 10 第 6 章 運動會分數統(tǒng)計系統(tǒng)用戶手冊 6.1 運行環(huán)境 windows,vc+6.0 第 6 章 運動會分數統(tǒng)計系統(tǒng)用戶手冊 - 11 - 6.2 用戶界面 圖 6-1 用戶界面圖 6.3 操作過程 1 用戶進入運動會分數統(tǒng)計系統(tǒng)程序歡迎界面 2 錄入成績,先輸入要輸入的學校編號,1 或 2;再輸入對應學校的 1-7 項目的成 績(成績用 0 或 1:0表示沒獲得該項目的該名次, 1表示獲得了該項目的 該名

13、次)當成績錄入錯誤時會有錯誤提示。 3 進入總目錄,按提示,輸入 0-7 中的一個數; 輸入:0 則推出系統(tǒng); 輸入:1 統(tǒng)計各學校總分并輸出;然后選擇0或1 (0表示退出系統(tǒng), 1表示返回總目錄) ; 輸入:2 按學校編號排序輸出;然后選擇0或1 (0表示退出系統(tǒng), 1表示返回總目錄) ; 輸入:3 按學??偡峙判蜉敵觯蝗缓筮x擇0或1 (0表示退出系統(tǒng), 1表示返回總目錄) ; 輸入:4 按男團體總分排序輸出;然后選擇0或1 (0表示退出系統(tǒng), 1表示返回總目錄) ; 輸入:5 按女團體總分排序輸出;然后選擇0或1 (0表示退出系統(tǒng), 1表示返回總目錄) ; - 12 - 輸入:6 按學校編

14、號查詢學校某個項目編號;選擇學校編號 1 或 2;然后選擇項 目編號 1-7;輸出項目成績;然后選擇 0 或 1 或 2(0表示退出系統(tǒng), 1表示返回總目錄, 2表示返回上一級) ; 輸入:7 按項目編號查詢取得名次的學校;選擇項目編號 1-7;輸出成績;然后 選擇 0 或 1 或 2(0表示退出系統(tǒng), 1表示返回總目錄, 2表示返 回上一級) ; 第 7 章 航空訂票系統(tǒng)需求分析 - 13 - 第 7 章 航空訂票系統(tǒng)需求分析 7.1 問題描述 每條航線所涉及的信息有:終點站名、航班號、飛機號、飛行日(星期幾) 、乘 員定額、余票量、已訂票的客戶名單(包括姓名、訂票量、艙位等級 1,2 或

15、3)以 及等候替補的客戶名單(包括姓名、所需票量) ; 7.2 系統(tǒng)能實現的操作和功能: 7.2.1 查詢航線: 根據旅客提出的終點站名輸出下列信息:航班號、飛機號、星期幾飛行,最近 一天航班的日期和余票額; 7.2.2 承辦訂票業(yè)務: 根據客戶提出的要求(航班號、訂票數額)查詢該航班票額情況,若尚有余票, 則為客戶辦理訂票手續(xù),輸出座位號;若已滿員或余票額少于定票額,則需重新詢 問客戶要求。若需要,可登記排隊候補; 7.2.3 退票業(yè)務: 根據客戶提供的情況(日期、航班) ,為客戶辦理退票手續(xù),然后查詢該航班是 否有人排隊候補,首先詢問排在第一的客戶,若所退票額能滿足他的要求,則為他 辦理訂

16、票手續(xù),否則依次詢問其他排隊候補的客戶。 第第 8 8 章章 航空訂票系統(tǒng)概要設計航空訂票系統(tǒng)概要設計 8.1 系統(tǒng)結構圖(功能模塊圖) - 14 - 主函數 瀏覽航線信 息 瀏覽已訂票 客戶信息 查詢航線辦理訂票業(yè) 務 辦理退票業(yè) 務 退出系統(tǒng) 按剩余票數排序 圖 8-1 系統(tǒng)結構圖 8.2 功能模塊說明 1 顯示已初始化的全部航線信息。 2 瀏覽已訂票客戶信息。 3 根據客戶提出的終點站名,調用 find()函數尋找航線信息,調用 list()函數 輸出航線信息。 4 辦理訂票業(yè)務:根據客戶提供的航班號進行查詢航線信息,若客戶訂票額超過 乘員定票總額,退出,若客戶訂票額末超過余票量,訂票成

17、功并登記信息,在訂票 乘員名單域中添加客戶信息;如果暫時沒有票,詢問客戶是否要排隊等侯,如果是, 則在等候隊列增加該客戶的訂票信息。 5 辦理退票業(yè)務:調用查詢函數,根據客戶提供的航線進行搜索根據客戶提供的 姓名到訂票客戶名單域進行查詢。退票成功后,重新將航線名單域指向訂票單鏈表 的頭指針。根據隊列中從出的客戶信息判斷是否滿足要求,如果滿足,則將該客戶 的信息插入到乘客信息鏈表中。 6 退出本系統(tǒng)。 第 9 章 航空訂票系統(tǒng)詳細設計及運行結果 9.1 顯示已初始化的全部航線信息 9.1 顯示已初始化的全部航線信息 - 15 - 9.2 瀏覽已訂票客戶信息 開始 調用 find()函數 p=nu

18、ll ? p 不為空 該航線沒有 客戶信息 輸出客戶信息 結束 圖 9-2 已訂票客戶信息框圖 - 16 - 9.3 查詢航線 9.1 顯示已初始化的全部航線信息 - 17 - 開始 初始化 iter_name) info+,i+ i=maxsize 調用函數輸出 未找到 結束 圖 9-3 查詢航線框圖 9.4 辦理訂票業(yè)務 - 18 - 開始 初始化 !(info=find() 客戶訂票額不超過乘員 定票總額, 登記信息 加到客戶名單域 結束 在排隊等候乘員名單 域中添加客戶信息 9-4 辦理訂票業(yè)務框圖 9.5 辦理退票業(yè)務 9.1 顯示已初始化的全部航線信息 - 19 - 開始 調用 f

19、ind 函對航線搜索 數 p1!=null p1!=null 刪除客戶信息 重新將航線名單域指向訂票單鏈表的 頭指針,重新將航線名單域指向訂票 單鏈表的頭指針,r 指向排隊等候名 單隊列的尾結點 t 不為空 將客戶信息插到訂票客 戶名單鏈表 頭結點 將客戶信息插到訂票 客戶名單鏈表 結束 圖 9-5 退票業(yè)務框圖 - 20 - 第 10 章 航空訂票系統(tǒng)調試情況,設計技巧及體會 10.1 總體過程 編譯和調試工具:選擇 visual c+6.0,該工具穩(wěn)定,其中有一個強大的調試工 具,但我不是熟悉。還需要進一步的練習。在一周半的時間里,不斷地對程序及各 模塊進行修改、編譯、調試、運行,其間遇到很多問題: 1 因本人能力有限,在編寫的時候只使用了相對較為簡單的基礎語言 ,代替了 相對較復雜的語言,降低了運行效率。 2 程序在起初設計的時候,經常出現溢出錯誤,而且不只一處。為了修正這些溢 出錯誤,耗費了大量的時間,修正解釋之后再看源程序,才發(fā)現原來只是因為開始 的函數定義的數據類型出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論