




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
懷 化 學(xué) 院 計 算 機 系數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告書全國交通咨詢模擬系統(tǒng)的設(shè)計與實現(xiàn) 學(xué)生姓名:* 學(xué) 號:* 年級專業(yè)及班級:* 指導(dǎo)老師及職稱:* 講師 專 業(yè):計算機科學(xué)與技術(shù)專業(yè) 湖南懷化 提交日期:2011年6月 全國交通咨詢模擬系統(tǒng)的設(shè)計與實現(xiàn)學(xué) 生:*指導(dǎo)老師:*(懷化學(xué)院計算機系,懷化 418008) 摘 要:該課程設(shè)計主要實現(xiàn)了對全國火車及飛機信息的修改和查詢,其中主要包括:管理員對火車、飛機信息的操作,其中又包含對兩種交通方式的增加和刪除操作。旅客用戶對兩種交通信息的查詢,其中飛機信息和火車信息都包含了對兩個站點間最短路徑方式的查詢、最少花費方式的查詢以及城市中所有的交通信息的查詢。 關(guān)鍵詞:全國交通咨詢;1 前言 為了完成數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計,為了鞏固自己數(shù)據(jù)結(jié)構(gòu)的知識,也是為了提高自己的編程能力和邏輯思維能力,我選了這道全國交通咨詢模擬系統(tǒng)的設(shè)計與實現(xiàn)一題。在對其需求進行分析之后,按照需求分析,逐步完成其各部分的功能實現(xiàn)。對于總的方面來講,管理員功能實現(xiàn)并不難,而難點在于用戶功能中的算法及數(shù)據(jù)結(jié)構(gòu)中的知識以及編程的細微方面,下面將詳細介紹本課程設(shè)計的內(nèi)容。2 需求分析 2.1 范圍1.1 標(biāo)識文件狀態(tài):【】草稿【 】正式發(fā)布【 】正在修改文件標(biāo)識:需求分析報告當(dāng)前版本:V1.0作 者:*完成日期:2011-6-1221.2 系統(tǒng)概述1軟件名稱:全國交通咨詢系統(tǒng)V1.02軟件功能:主要的功能有:管理員增刪和修改城市站點信息、飛機路線信息、火車路線信息。3用戶:查詢最小耗費路線、查詢最短時間路線、查詢城市所有路線。4開發(fā)者:*21.3 文檔概述需求分析采用在面向?qū)ο蟮姆椒?,主要使用結(jié)構(gòu)體struct的方法來進行實際的編程,在文檔中主要采E-R圖和對功能的簡單描述的方法來表述系統(tǒng)的需求。本需求分析的審查者是老師,所以主要是寫給老師看的,用來說明我對這個系統(tǒng)的分析情況。22 引用文件 無23 需求概述23.1 系統(tǒng)目標(biāo)本系統(tǒng)的總體目標(biāo)是通過使用該系統(tǒng),管理員可以對飛機或者火車的信息的簡單管理,也方便外出旅客在不同的需求下(如:最少的花費和最短的路程),快速瀏覽到所要的信息。本系統(tǒng)設(shè)計的特點主要有以下幾個方面:1. 具有較高的可靠性和可用性;2. 系統(tǒng)易于管理維護;3 簡單、便捷;23.2 運行環(huán)境1. 系統(tǒng)硬件需求Pentium4 800MHz或更高主頻CPU 256MB以上內(nèi)存。2. 系統(tǒng)軟件需求Visual C+ 6.0或者visual studio 6.0等編程軟件。23.3 用戶的特點機場工作人員或火車站工作人員以及其他具備基本的電腦操作技能和一定的管理權(quán)限的用戶;旅客需具備基礎(chǔ)的計算機操作技能。24功能需求通過對本設(shè)計的信息綜合分析,得到交通信息的主要組成部分之后,我覺得本系統(tǒng)功能主要分為以下兩個部分:1管理員操作:可以對站點的增設(shè)和刪除,對火車車次的添加與刪除以及對飛機航班的添加及刪除操作。2. 旅客用戶操作:對最小耗費路線的查看、最短時間路線的查看和城市所有的路線信息的查看。24.1 操作流程圖增刪城市信息 管理員增刪飛機信息增刪交通路線信息增刪火車信息增刪交通路線信息退出系統(tǒng)增刪交通路線信息旅客用戶增刪交通路線信息24.2 系統(tǒng)各項功能描述1) 用例1用例名:管理員操作行為者:信息管理員目的:完成對站點信息、飛機航班信息、火車列次信息的增加和刪減管理過程描述:a) 選擇管理員入口。b) 輸出正確的密碼登入系統(tǒng)。c) 可以添加城市。d) 可以刪除城市。e) 添加交通路線。f) 刪除交通路線。g) 退出系統(tǒng)異常處理:無。2) 用例2用例名:旅客及其它人操作行為者:非管理員目的:查看交通信息過程描述:a) 選擇旅客入口。b) 可以查詢最小耗費路線。c) 可以查詢最短時間路線。d) 可以查詢城市所有路線。e)退出系統(tǒng)異常處理:無25數(shù)據(jù)下面僅列出主要實體。通過對學(xué)生管理系統(tǒng)的需求分析,我畫出五個實體的E-R圖:(1)城市信息實體城市信息實體包括城市名,如下圖所示: 城市名城市信息(2)火車信息實體火車信息實體包括火車車次、起始站點、終止站點、耗費時間、費用,如下圖所示:起始站點終止站點費用火車車次火車信息耗費時間(3)飛機信息實體飛機信息實體包括飛機航班、起始站點、終止站點、耗費時間、費用,如下圖所示:終止站點起始站點飛機信息飛機航班費用耗費時間26 采用的技術(shù)采用的技術(shù)主要包括對文件存取、數(shù)據(jù)結(jié)構(gòu)和迪杰斯特拉算法等技術(shù)。3 詳細設(shè)計根據(jù)題目要求及本次課程設(shè)計的目的,按著原來的需求分析的要求,我采用結(jié)構(gòu)體來存儲每組數(shù)據(jù),其中對每組數(shù)據(jù)進行相應(yīng)的操作使用后將他們建立領(lǐng)結(jié)矩陣,然后采用迪杰斯特拉算法,在讀取文件和保存文件的功能中使用了文件流的相關(guān)操作?,F(xiàn)把相應(yīng)的設(shè)計思路及各個函數(shù)解析如下。3.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計分析3.1.1 存儲班級信息的結(jié)構(gòu)體 班級資料有id號、編號、名稱。具體結(jié)構(gòu)如下:struct banji/班 級 信 息 int bjid; /班級唯一ID號 string bj_number;/班 級 編 號 string bj_name; /班級名稱;3.1.2 存儲課程信息的結(jié)構(gòu)體struct kecheng /課 程 信 息 int bjid; string kc_banjibianhao; /班級編號 string kc_bjkc10;/假設(shè)最多課程為10;3.1.3 存儲學(xué)生資料的結(jié)構(gòu)體struct xueshengxx/學(xué) 生 資 料int bjid;string xsxx_xuehao; /學(xué)號string xsxx_banjibianhao; /班級編號string xsxx_name; /性名string xsxx_gender;/性別int age;3.1.4 存儲學(xué)生成績的結(jié)構(gòu)體struct xueshengcj /學(xué) 生 成 績 int bjid;string xscj_xuehao; /學(xué)號 double xscj_score10; /假設(shè)最多有10門課double xscj_score_sum; /總成績;3.1.5 存儲用戶密碼的結(jié)構(gòu)體struct password2 /用戶密碼string pas_num; /帳號string pas_admin; /密碼int pas_type; /權(quán)限類型;3.2 各個函數(shù)分析3.2.1 主函數(shù)和功能界面菜單函數(shù) 函數(shù)原型:int main()main()函數(shù)主要是整個系統(tǒng)的控制端,主要功能是控制整個程序的運行。從主函數(shù)開始調(diào)用各相關(guān)函數(shù)來達到相應(yīng)的功能。由于有多個不同的選項,所以用一個switch()語句控制每個函數(shù)調(diào)用,控制起來方便、明了。關(guān)鍵代碼如下:switch(op1)case 1:login_admin();/管理員操作break;case 2:login_other(); /其它用戶操作break;default:cout請正確選擇!n;system(pause);break;其中的第二層才是具體的,實現(xiàn)調(diào)用函數(shù)實現(xiàn)各項功能。關(guān)鍵代碼如下:login_admin() 內(nèi)的:switch(op2)case 1:ope_admin_1();break;case 2:ope_admin_2();system(cls);break;case 3:ope_admin_3();system(cls);break;case 4:xiugaimima();system(cls);break;case 5:system(cls);break;default:cout請選擇正確選項!n;system(pause);break;login_other() 內(nèi)的:switch(op2)case 1:ope_other_1();break;case 2:ope_other_2();system(cls);break;case 3:ope_other_3();system(cls);break;case 4:xiugaimima();system(cls);break;case 5:system(cls);break;default:cout請選擇正確選項!n;system(pause);break;3.2.2 讀文件函數(shù)本系統(tǒng)要讀入5個文件,所以有5個函數(shù)用來讀入5個文件 函數(shù)原型:void read_xsxx(xueshengxx *data) /讀取學(xué)生信息void read_xscj(xueshengcj * data,string myfile) /讀取學(xué)生成績,/參數(shù)可以指定讀取哪一年的成績 void read_banji(banji *data) /讀取班級信息void read_pas(password2 *data) /讀取密碼信息void read_kc(kecheng *data) /讀取課程信息3.2.3 系統(tǒng)主界面函數(shù)函數(shù)原型:void login()在主函數(shù)調(diào)用此函數(shù),展示整個系統(tǒng)可供用戶選擇的選項,使和理員的其它用戶一看就明白自己要選擇進入哪個界面。3.2.4 顯示函數(shù)顯示函數(shù)要三個,按不用的排序方式進行排序和顯示,如下:函數(shù)原型:void out_xscj(xueshengcj *data)/全校學(xué)生按學(xué)號排序顯示void out_xscj2(xueshengcj *data)/ 全校學(xué)生按總分排序顯示void out_xscj3(xueshengcj *data)/各班內(nèi)按總分排序顯示3.2.5 刪除函數(shù)函數(shù)原型:void delcj_xuehao() /刪除成績void delkc() /刪除課程void delxx_xuehao_name() /刪除資料,包括刪除與其相關(guān)的密碼等內(nèi)容通過調(diào)用上面這些函數(shù),可以刪除某個學(xué)生的成績、某班的課程、某學(xué)生的資料等信息。3.2.6 查詢函數(shù)函數(shù)原型:void searchxx_xuehao_name() /按姓名或?qū)W號查詢學(xué)生資料void searchcj_xuehao_name()/按姓名或?qū)W號查詢學(xué)生成績調(diào)用上面的函數(shù)可以讓學(xué)生自己查看自己的成績、資料等信息,也可以讓管理員查看某個學(xué)生的成績、資料等信息。3.2.7 添加函數(shù)函數(shù)原型:void add_bj(string a,int b) /添加班級功能void addxx() /添加學(xué)生功能 void addkc() /添加課程功能其中,在添加學(xué)生資料信息完成之后,還進行了一系列的操作,比如說:將學(xué)生的成績初始化為0,默認加入學(xué)生的學(xué)號與密碼存于密碼文件 讓學(xué)生可以即時登陸查看信息。 而添加課程功能中也要將新添加的課程,在每個同學(xué)的成績文件里面都初始化為0。所以說,這種模擬的系統(tǒng)設(shè)計與真實的系統(tǒng)設(shè)計最大的區(qū)別就是麻煩,多了很多不必要的操作。3.2.8 更改函數(shù)函數(shù)原型:void modifycj_xuehao() /按學(xué)號修改某學(xué)生成績信息void modifykc() /修改某班的課程信息void modifyxx_xuehao_name() /按學(xué)號或姓名修改某學(xué)生的資料信息上面函數(shù)主要實現(xiàn)對學(xué)生資料的修改,學(xué)班級課程的修改和對學(xué)生成績的修改,這里也就是對題的一些要求進行了功能的實現(xiàn),適當(dāng)?shù)貎?yōu)化了一下修改時的提醒信息。3.3 算法及平臺分析 本系統(tǒng)用到的算法主要有數(shù)據(jù)結(jié)構(gòu)中的排序、和文件流的操作等基本算法,沒有用到其它比較復(fù)雜的算法,操作起來簡單,并且容易控制;還用到輸入輸出流的一些操作來使顯示的信息對稱,不凌亂;再就是一些文件操作,更改存儲文件中的內(nèi)容,保存操作后的所有信息。本系統(tǒng)是在Microsoft Visual C+ 6.0上設(shè)計及運行的,所有的信息顯示均是在dos界面中顯示出來,利用system(color 2B)操作使主界面以綠色為背景,前景色為淡淺綠色。并且在每一步操作后,都利用system(cls)對dos界面進行清屏,使顯示器顯示的信息清晰、整齊。4 實現(xiàn)方法 通過對設(shè)計題目的深入分析,及題目的要求,在設(shè)計時,主要實現(xiàn)的大功能模塊,大致滿足一個學(xué)生信息和管理系統(tǒng)的需要,主要的流程及實現(xiàn)方法請看下面的報告。4.1 學(xué)生信息管理系統(tǒng)框架及流程如下圖 主界面學(xué)生用戶界面管理員界面修改自己密碼查看自己課程查看自己成績查看自己資料管理密碼修改班級課程管理學(xué)生成績管理學(xué)生資料管理添加信息修改信息刪除信息查看信息保存結(jié)束退出5 調(diào)試問題在編寫系統(tǒng)代碼的過程中,碰到不少問題。在著手寫代碼時,我首先把主界面設(shè)計好,并按照主界面上顯示的各種功能設(shè)計各個函數(shù),這樣不至于太盲目了??墒钱?dāng)我測試主界面時,出現(xiàn)了一些問題,出現(xiàn)讀入文件的函數(shù)沒有聲明沒有把數(shù)據(jù)讀入錯誤,然后調(diào)試了好久,一開始就是文件里的信息個數(shù)與讀取時的讀入個數(shù)不同,改了之后還是不對,數(shù)據(jù)類型的錯誤,就使得后面的數(shù)據(jù)讀不進去,或者是出現(xiàn)混亂的現(xiàn)象,然后改了之全就可以運行了。在寫到密碼修改的時候,由于用了格式符setw(5),本來密碼是6位,我不小心把它設(shè)置成這個,就使得存進去的密碼與用戶名邊成了一個字符串了,讀出來的時候就錯,這個問題弄了我好久,本來覺得一下子就能寫完的,就這個耽誤了大量的時間。還有個問題就是顯示方面的。在寫那些函數(shù)時,總會清屏上一次的屏幕,把函數(shù)寫完之后,也會做同樣的工作,所以在運行到system(“cls”)時,就會清除屏幕信息而顯示其它內(nèi)容。所以要想清晰看到每次操作的信息,就要延遲system(“cls”)的執(zhí)行。在沒有做處理之前,總會出現(xiàn)一閃而過的現(xiàn)象,一瞬即逝,根本看不清所要顯示的信息。在system(“cls”)前加上system(“pause”)函數(shù),它會使數(shù)據(jù)顯示后暫停一下,用記按鍵后再繼續(xù)。這使得用戶可以看清自己想要的信息,做好下一步操作的準備工作。當(dāng)然,在編寫代碼調(diào)試程序的時候,還碰到很多大大小小的問題,但在自己一遍又一遍的調(diào)試中改正了,從而使系統(tǒng)的功能更加完善,使系統(tǒng)的功能更從人性化,容錯能力更加強大。但是系統(tǒng)還有可能有這樣或那樣的問題,只是自己沒有發(fā)現(xiàn),在測試過程中,沒有用到一些特別的樣例,可能會使系統(tǒng)崩潰,我想這也是可能的,希望老師加以指正和指導(dǎo)。6 系統(tǒng)的使用說明書 對于整個系統(tǒng)的使用及每一次你所作出選擇和操作之后會出現(xiàn)什么樣的界面及操作結(jié)果,在下面的說明中作出詳細的說明及展示,具體如下所示。5.1 主界面說明當(dāng)運行系統(tǒng)時,首先進入的是主界面,顯示了用戶類型的選項,選擇正確的類型進入,在最后一行有提示讓您輸入你所要選擇的功能項。如下所示:5.2 管理員操作界面說明鍵入1后,輸入正確的管理員賬號和密碼,進入下面界面中:又有4個顯示功能可供選擇,鍵入1可以對學(xué)生資料進行管理,其下面又有子菜單,如圖所示:選擇相應(yīng)的選項就能進行相應(yīng)的操作。鍵入2可以對學(xué)生成績進行管理,其下面又有子菜單,如圖所示:鍵入3可以對課程信息進行管理,其下面又有子菜單,如圖所示:選擇相應(yīng)的選項就能進行相應(yīng)的操作,具體的根據(jù)提示操作就行。5.3 其它用戶界面說明進入后就是右邊的界面 :共有4個選項可供用戶進行操作,選擇任何一項都會有相應(yīng)的顯示,這里用戶不能更改信息,所以功能也比管理員少
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 品牌低價轉(zhuǎn)讓合同協(xié)議
- 2025租房合同范本:個人版
- 《2025建筑設(shè)備租賃合同書》
- 《2025勞動合同操作指南》
- 2025版權(quán)許可使用合同樣本
- 2025年網(wǎng)站開發(fā)設(shè)計勞動合同
- 2025企業(yè)租賃合同協(xié)議書樣本
- 2025花卉租賃擺放合同協(xié)議書
- 2025鋼材購銷合同范本2
- 房地產(chǎn)開發(fā)合作合同協(xié)議書
- 社區(qū)日間照料中心運營方案
- 二年級下冊期末教學(xué)質(zhì)量分析P的課件
- 初中數(shù)學(xué)北師大七年級下冊(2023年新編)綜合與實踐綜合與實踐-設(shè)計自己的運算程序 王穎
- 北師大版英語八年級下冊 Unit 4 Lesson 11 Online Time 課件(30張PPT)
- 可燃氣體報警系統(tǒng)安裝記錄
- 伸臂式焊接變位機設(shè)計總體設(shè)計和旋轉(zhuǎn)減速器設(shè)計畢業(yè)設(shè)計
- 貝多芬F大調(diào)浪漫曲—小提琴譜(帶鋼伴譜)
- 血細胞儀白細胞五分類法原理和散點圖特征
- 外墻保溫方案(熱固性改性聚苯板)
- 電子匯劃業(yè)務(wù)收費憑證
- (完整版)mmse量表
評論
0/150
提交評論