




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
懷 化 學(xué) 院 計(jì) 算 機(jī) 系數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告書全國交通咨詢模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生姓名:* 學(xué) 號(hào):* 年級(jí)專業(yè)及班級(jí):* 指導(dǎo)老師及職稱:* 講師 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)專業(yè) 湖南懷化 提交日期:2011年6月 全國交通咨詢模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué) 生:*指導(dǎo)老師:*(懷化學(xué)院計(jì)算機(jī)系,懷化 418008) 摘 要:該課程設(shè)計(jì)主要實(shí)現(xiàn)了對全國火車及飛機(jī)信息的修改和查詢,其中主要包括:管理員對火車、飛機(jī)信息的操作,其中又包含對兩種交通方式的增加和刪除操作。旅客用戶對兩種交通信息的查詢,其中飛機(jī)信息和火車信息都包含了對兩個(gè)站點(diǎn)間最短路徑方式的查詢、最少花費(fèi)方式的查詢以及城市中所有的交通信息的查詢。 關(guān)鍵詞:全國交通咨詢;1 前言 為了完成數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計(jì),為了鞏固自己數(shù)據(jù)結(jié)構(gòu)的知識(shí),也是為了提高自己的編程能力和邏輯思維能力,我選了這道全國交通咨詢模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)一題。在對其需求進(jìn)行分析之后,按照需求分析,逐步完成其各部分的功能實(shí)現(xiàn)。對于總的方面來講,管理員功能實(shí)現(xiàn)并不難,而難點(diǎn)在于用戶功能中的算法及數(shù)據(jù)結(jié)構(gòu)中的知識(shí)以及編程的細(xì)微方面,下面將詳細(xì)介紹本課程設(shè)計(jì)的內(nèi)容。2 需求分析 2.1 范圍1.1 標(biāo)識(shí)文件狀態(tài):【】草稿【 】正式發(fā)布【 】正在修改文件標(biāo)識(shí):需求分析報(bào)告當(dāng)前版本:V1.0作 者:*完成日期:2011-6-1221.2 系統(tǒng)概述1軟件名稱:全國交通咨詢系統(tǒng)V1.02軟件功能:主要的功能有:管理員增刪和修改城市站點(diǎn)信息、飛機(jī)路線信息、火車路線信息。3用戶:查詢最小耗費(fèi)路線、查詢最短時(shí)間路線、查詢城市所有路線。4開發(fā)者:*21.3 文檔概述需求分析采用在面向?qū)ο蟮姆椒ǎ饕褂媒Y(jié)構(gòu)體struct的方法來進(jìn)行實(shí)際的編程,在文檔中主要采E-R圖和對功能的簡單描述的方法來表述系統(tǒng)的需求。本需求分析的審查者是老師,所以主要是寫給老師看的,用來說明我對這個(gè)系統(tǒng)的分析情況。22 引用文件 無23 需求概述23.1 系統(tǒng)目標(biāo)本系統(tǒng)的總體目標(biāo)是通過使用該系統(tǒng),管理員可以對飛機(jī)或者火車的信息的簡單管理,也方便外出旅客在不同的需求下(如:最少的花費(fèi)和最短的路程),快速瀏覽到所要的信息。本系統(tǒng)設(shè)計(jì)的特點(diǎn)主要有以下幾個(gè)方面:1. 具有較高的可靠性和可用性;2. 系統(tǒng)易于管理維護(hù);3 簡單、便捷;23.2 運(yùn)行環(huán)境1. 系統(tǒng)硬件需求Pentium4 800MHz或更高主頻CPU 256MB以上內(nèi)存。2. 系統(tǒng)軟件需求Visual C+ 6.0或者visual studio 6.0等編程軟件。23.3 用戶的特點(diǎn)機(jī)場工作人員或火車站工作人員以及其他具備基本的電腦操作技能和一定的管理權(quán)限的用戶;旅客需具備基礎(chǔ)的計(jì)算機(jī)操作技能。24功能需求通過對本設(shè)計(jì)的信息綜合分析,得到交通信息的主要組成部分之后,我覺得本系統(tǒng)功能主要分為以下兩個(gè)部分:1管理員操作:可以對站點(diǎn)的增設(shè)和刪除,對火車車次的添加與刪除以及對飛機(jī)航班的添加及刪除操作。2. 旅客用戶操作:對最小耗費(fèi)路線的查看、最短時(shí)間路線的查看和城市所有的路線信息的查看。24.1 操作流程圖增刪城市信息 管理員增刪飛機(jī)信息增刪交通路線信息增刪火車信息增刪交通路線信息退出系統(tǒng)增刪交通路線信息旅客用戶增刪交通路線信息24.2 系統(tǒng)各項(xiàng)功能描述1) 用例1用例名:管理員操作行為者:信息管理員目的:完成對站點(diǎn)信息、飛機(jī)航班信息、火車列次信息的增加和刪減管理過程描述:a) 選擇管理員入口。b) 輸出正確的密碼登入系統(tǒng)。c) 可以添加城市。d) 可以刪除城市。e) 添加交通路線。f) 刪除交通路線。g) 退出系統(tǒng)異常處理:無。2) 用例2用例名:旅客及其它人操作行為者:非管理員目的:查看交通信息過程描述:a) 選擇旅客入口。b) 可以查詢最小耗費(fèi)路線。c) 可以查詢最短時(shí)間路線。d) 可以查詢城市所有路線。e)退出系統(tǒng)異常處理:無25數(shù)據(jù)下面僅列出主要實(shí)體。通過對學(xué)生管理系統(tǒng)的需求分析,我畫出五個(gè)實(shí)體的E-R圖:(1)城市信息實(shí)體城市信息實(shí)體包括城市名,如下圖所示: 城市名城市信息(2)火車信息實(shí)體火車信息實(shí)體包括火車車次、起始站點(diǎn)、終止站點(diǎn)、耗費(fèi)時(shí)間、費(fèi)用,如下圖所示:起始站點(diǎn)終止站點(diǎn)費(fèi)用火車車次火車信息耗費(fèi)時(shí)間(3)飛機(jī)信息實(shí)體飛機(jī)信息實(shí)體包括飛機(jī)航班、起始站點(diǎn)、終止站點(diǎn)、耗費(fèi)時(shí)間、費(fèi)用,如下圖所示:終止站點(diǎn)起始站點(diǎn)飛機(jī)信息飛機(jī)航班費(fèi)用耗費(fèi)時(shí)間26 采用的技術(shù)采用的技術(shù)主要包括對文件存取、數(shù)據(jù)結(jié)構(gòu)和迪杰斯特拉算法等技術(shù)。3 詳細(xì)設(shè)計(jì)根據(jù)題目要求及本次課程設(shè)計(jì)的目的,按著原來的需求分析的要求,我采用結(jié)構(gòu)體來存儲(chǔ)每組數(shù)據(jù),其中對每組數(shù)據(jù)進(jìn)行相應(yīng)的操作使用后將他們建立領(lǐng)結(jié)矩陣,然后采用迪杰斯特拉算法,在讀取文件和保存文件的功能中使用了文件流的相關(guān)操作。現(xiàn)把相應(yīng)的設(shè)計(jì)思路及各個(gè)函數(shù)解析如下。3.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)分析3.1.1 存儲(chǔ)班級(jí)信息的結(jié)構(gòu)體 班級(jí)資料有id號(hào)、編號(hào)、名稱。具體結(jié)構(gòu)如下:struct banji/班 級(jí) 信 息 int bjid; /班級(jí)唯一ID號(hào) string bj_number;/班 級(jí) 編 號(hào) string bj_name; /班級(jí)名稱;3.1.2 存儲(chǔ)課程信息的結(jié)構(gòu)體struct kecheng /課 程 信 息 int bjid; string kc_banjibianhao; /班級(jí)編號(hào) string kc_bjkc10;/假設(shè)最多課程為10;3.1.3 存儲(chǔ)學(xué)生資料的結(jié)構(gòu)體struct xueshengxx/學(xué) 生 資 料int bjid;string xsxx_xuehao; /學(xué)號(hào)string xsxx_banjibianhao; /班級(jí)編號(hào)string xsxx_name; /性名string xsxx_gender;/性別int age;3.1.4 存儲(chǔ)學(xué)生成績的結(jié)構(gòu)體struct xueshengcj /學(xué) 生 成 績 int bjid;string xscj_xuehao; /學(xué)號(hào) double xscj_score10; /假設(shè)最多有10門課double xscj_score_sum; /總成績;3.1.5 存儲(chǔ)用戶密碼的結(jié)構(gòu)體struct password2 /用戶密碼string pas_num; /帳號(hào)string pas_admin; /密碼int pas_type; /權(quán)限類型;3.2 各個(gè)函數(shù)分析3.2.1 主函數(shù)和功能界面菜單函數(shù) 函數(shù)原型:int main()main()函數(shù)主要是整個(gè)系統(tǒng)的控制端,主要功能是控制整個(gè)程序的運(yùn)行。從主函數(shù)開始調(diào)用各相關(guān)函數(shù)來達(dá)到相應(yīng)的功能。由于有多個(gè)不同的選項(xiàng),所以用一個(gè)switch()語句控制每個(gè)函數(shù)調(diào)用,控制起來方便、明了。關(guān)鍵代碼如下:switch(op1)case 1:login_admin();/管理員操作break;case 2:login_other(); /其它用戶操作break;default:cout請正確選擇!n;system(pause);break;其中的第二層才是具體的,實(shí)現(xiàn)調(diào)用函數(shù)實(shí)現(xiàn)各項(xiàng)功能。關(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請選擇正確選項(xiàng)!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請選擇正確選項(xiàng)!n;system(pause);break;3.2.2 讀文件函數(shù)本系統(tǒng)要讀入5個(gè)文件,所以有5個(gè)函數(shù)用來讀入5個(gè)文件 函數(shù)原型:void read_xsxx(xueshengxx *data) /讀取學(xué)生信息void read_xscj(xueshengcj * data,string myfile) /讀取學(xué)生成績,/參數(shù)可以指定讀取哪一年的成績 void read_banji(banji *data) /讀取班級(jí)信息void read_pas(password2 *data) /讀取密碼信息void read_kc(kecheng *data) /讀取課程信息3.2.3 系統(tǒng)主界面函數(shù)函數(shù)原型:void login()在主函數(shù)調(diào)用此函數(shù),展示整個(gè)系統(tǒng)可供用戶選擇的選項(xiàng),使和理員的其它用戶一看就明白自己要選擇進(jìn)入哪個(gè)界面。3.2.4 顯示函數(shù)顯示函數(shù)要三個(gè),按不用的排序方式進(jìn)行排序和顯示,如下:函數(shù)原型:void out_xscj(xueshengcj *data)/全校學(xué)生按學(xué)號(hào)排序顯示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ù),可以刪除某個(gè)學(xué)生的成績、某班的課程、某學(xué)生的資料等信息。3.2.6 查詢函數(shù)函數(shù)原型:void searchxx_xuehao_name() /按姓名或?qū)W號(hào)查詢學(xué)生資料void searchcj_xuehao_name()/按姓名或?qū)W號(hào)查詢學(xué)生成績調(diào)用上面的函數(shù)可以讓學(xué)生自己查看自己的成績、資料等信息,也可以讓管理員查看某個(gè)學(xué)生的成績、資料等信息。3.2.7 添加函數(shù)函數(shù)原型:void add_bj(string a,int b) /添加班級(jí)功能void addxx() /添加學(xué)生功能 void addkc() /添加課程功能其中,在添加學(xué)生資料信息完成之后,還進(jìn)行了一系列的操作,比如說:將學(xué)生的成績初始化為0,默認(rèn)加入學(xué)生的學(xué)號(hào)與密碼存于密碼文件 讓學(xué)生可以即時(shí)登陸查看信息。 而添加課程功能中也要將新添加的課程,在每個(gè)同學(xué)的成績文件里面都初始化為0。所以說,這種模擬的系統(tǒng)設(shè)計(jì)與真實(shí)的系統(tǒng)設(shè)計(jì)最大的區(qū)別就是麻煩,多了很多不必要的操作。3.2.8 更改函數(shù)函數(shù)原型:void modifycj_xuehao() /按學(xué)號(hào)修改某學(xué)生成績信息void modifykc() /修改某班的課程信息void modifyxx_xuehao_name() /按學(xué)號(hào)或姓名修改某學(xué)生的資料信息上面函數(shù)主要實(shí)現(xiàn)對學(xué)生資料的修改,學(xué)班級(jí)課程的修改和對學(xué)生成績的修改,這里也就是對題的一些要求進(jìn)行了功能的實(shí)現(xiàn),適當(dāng)?shù)貎?yōu)化了一下修改時(shí)的提醒信息。3.3 算法及平臺(tái)分析 本系統(tǒng)用到的算法主要有數(shù)據(jù)結(jié)構(gòu)中的排序、和文件流的操作等基本算法,沒有用到其它比較復(fù)雜的算法,操作起來簡單,并且容易控制;還用到輸入輸出流的一些操作來使顯示的信息對稱,不凌亂;再就是一些文件操作,更改存儲(chǔ)文件中的內(nèi)容,保存操作后的所有信息。本系統(tǒng)是在Microsoft Visual C+ 6.0上設(shè)計(jì)及運(yùn)行的,所有的信息顯示均是在dos界面中顯示出來,利用system(color 2B)操作使主界面以綠色為背景,前景色為淡淺綠色。并且在每一步操作后,都利用system(cls)對dos界面進(jìn)行清屏,使顯示器顯示的信息清晰、整齊。4 實(shí)現(xiàn)方法 通過對設(shè)計(jì)題目的深入分析,及題目的要求,在設(shè)計(jì)時(shí),主要實(shí)現(xiàn)的大功能模塊,大致滿足一個(gè)學(xué)生信息和管理系統(tǒng)的需要,主要的流程及實(shí)現(xiàn)方法請看下面的報(bào)告。4.1 學(xué)生信息管理系統(tǒng)框架及流程如下圖 主界面學(xué)生用戶界面管理員界面修改自己密碼查看自己課程查看自己成績查看自己資料管理密碼修改班級(jí)課程管理學(xué)生成績管理學(xué)生資料管理添加信息修改信息刪除信息查看信息保存結(jié)束退出5 調(diào)試問題在編寫系統(tǒng)代碼的過程中,碰到不少問題。在著手寫代碼時(shí),我首先把主界面設(shè)計(jì)好,并按照主界面上顯示的各種功能設(shè)計(jì)各個(gè)函數(shù),這樣不至于太盲目了??墒钱?dāng)我測試主界面時(shí),出現(xiàn)了一些問題,出現(xiàn)讀入文件的函數(shù)沒有聲明沒有把數(shù)據(jù)讀入錯(cuò)誤,然后調(diào)試了好久,一開始就是文件里的信息個(gè)數(shù)與讀取時(shí)的讀入個(gè)數(shù)不同,改了之后還是不對,數(shù)據(jù)類型的錯(cuò)誤,就使得后面的數(shù)據(jù)讀不進(jìn)去,或者是出現(xiàn)混亂的現(xiàn)象,然后改了之全就可以運(yùn)行了。在寫到密碼修改的時(shí)候,由于用了格式符setw(5),本來密碼是6位,我不小心把它設(shè)置成這個(gè),就使得存進(jìn)去的密碼與用戶名邊成了一個(gè)字符串了,讀出來的時(shí)候就錯(cuò),這個(gè)問題弄了我好久,本來覺得一下子就能寫完的,就這個(gè)耽誤了大量的時(shí)間。還有個(gè)問題就是顯示方面的。在寫那些函數(shù)時(shí),總會(huì)清屏上一次的屏幕,把函數(shù)寫完之后,也會(huì)做同樣的工作,所以在運(yùn)行到system(“cls”)時(shí),就會(huì)清除屏幕信息而顯示其它內(nèi)容。所以要想清晰看到每次操作的信息,就要延遲system(“cls”)的執(zhí)行。在沒有做處理之前,總會(huì)出現(xiàn)一閃而過的現(xiàn)象,一瞬即逝,根本看不清所要顯示的信息。在system(“cls”)前加上system(“pause”)函數(shù),它會(huì)使數(shù)據(jù)顯示后暫停一下,用記按鍵后再繼續(xù)。這使得用戶可以看清自己想要的信息,做好下一步操作的準(zhǔn)備工作。當(dāng)然,在編寫代碼調(diào)試程序的時(shí)候,還碰到很多大大小小的問題,但在自己一遍又一遍的調(diào)試中改正了,從而使系統(tǒng)的功能更加完善,使系統(tǒng)的功能更從人性化,容錯(cuò)能力更加強(qiáng)大。但是系統(tǒng)還有可能有這樣或那樣的問題,只是自己沒有發(fā)現(xiàn),在測試過程中,沒有用到一些特別的樣例,可能會(huì)使系統(tǒng)崩潰,我想這也是可能的,希望老師加以指正和指導(dǎo)。6 系統(tǒng)的使用說明書 對于整個(gè)系統(tǒng)的使用及每一次你所作出選擇和操作之后會(huì)出現(xiàn)什么樣的界面及操作結(jié)果,在下面的說明中作出詳細(xì)的說明及展示,具體如下所示。5.1 主界面說明當(dāng)運(yùn)行系統(tǒng)時(shí),首先進(jìn)入的是主界面,顯示了用戶類型的選項(xiàng),選擇正確的類型進(jìn)入,在最后一行有提示讓您輸入你所要選擇的功能項(xiàng)。如下所示:5.2 管理員操作界面說明鍵入1后,輸入正確的管理員賬號(hào)和密碼,進(jìn)入下面界面中:又有4個(gè)顯示功能可供選擇,鍵入1可以對學(xué)生資料進(jìn)行管理,其下面又有子菜單,如圖所示:選擇相應(yīng)的選項(xiàng)就能進(jìn)行相應(yīng)的操作。鍵入2可以對學(xué)生成績進(jìn)行管理,其下面又有子菜單,如圖所示:鍵入3可以對課程信息進(jìn)行管理,其下面又有子菜單,如圖所示:選擇相應(yīng)的選項(xiàng)就能進(jìn)行相應(yīng)的操作,具體的根據(jù)提示操作就行。5.3 其它用戶界面說明進(jìn)入后就是右邊的界面 :共有4個(gè)選項(xiàng)可供用戶進(jìn)行操作,選擇任何一項(xiàng)都會(huì)有相應(yīng)的顯示,這里用戶不能更改信息,所以功能也比管理員少
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025租賃合同的終止協(xié)議范文
- 嚴(yán)重創(chuàng)傷患者護(hù)理常規(guī)
- 2025至2030年中國戶外休閑木制桌椅行業(yè)投資前景及策略咨詢報(bào)告
- 2025合同模板合作合同書范本示例
- 2025至2030年中國床墊生產(chǎn)線行業(yè)投資前景及策略咨詢報(bào)告
- 2025年自動(dòng)化單體設(shè)備項(xiàng)目立項(xiàng)申請報(bào)告
- 2025至2030年中國復(fù)印紙行業(yè)投資前景及策略咨詢報(bào)告
- 2025購物中心管理代理合同
- 不完全性前置胎盤護(hù)理查房
- 內(nèi)科危重癥病人的護(hù)理
- 夜宿山寺-優(yōu)質(zhì)課件
- 《低段培智學(xué)生行為習(xí)慣養(yǎng)成教育的研究》小課題研究中期報(bào)告
- TC4鈦合金拉拔工藝探索
- 八年級(jí)數(shù)學(xué)上冊《平方差公式》的教學(xué)反思(優(yōu)秀3篇)
- 填石路堤沉降差檢測記錄表
- “鄉(xiāng)村振興”戰(zhàn)略應(yīng)知應(yīng)會(huì)試題及答案(分享)
- 衢州萬達(dá)暖通工程施工方案(最終版)
- 學(xué)校端午假期致學(xué)生家長一封信
- 遺傳自制習(xí)題答案個(gè)我
- 鏈輪齒數(shù)尺寸對照表三
- 植物生理學(xué)第九章光形態(tài)建成.ppt
評論
0/150
提交評論