




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、課程設計的內容車票管理系統一車站每天有 n 個發車班次,每個班次都有一班次號( 1、2、3 n),固定的發車時間,固定的路線(起始站、終點站) ,大致的行車時間,固定的額定載客量。如班次發車時間起點站終點站行車時間額定載量已定票人數1 8:00郫縣廣漢 2453026:30郫縣成都404037:00郫縣成都4020410:00郫縣成都402(一)功能要求:用c/c+ 設計一系統,能提供下列服務:(1)錄入班次信息 ( 信息用文件保存 ), 可不定時地增加班次數據(2)瀏覽班次信息 , 可顯示出所有班次當前狀總 ( 如果當前系統時間超過了某班次的發車時間 , 則顯示“此班已發出”的提示信息)
2、 。(3)查詢路線:可按班次號查詢, 可按終點站查詢(4)售票和退票功能A:當查詢出已定票人數小于額定載量且當前系統時間小于發車時間時才能售票,自動更新已售票人數B:退票時,輸入退票的班次,當本班車未發出時才能退票,自動更新已售票人數二、課程設計的要求與數據1、進一步掌握和利用C語言進行程設計的能力;2、進一步理解和運用結構化程序設計的思想和方法;3、初步掌握開發一個小型實用系統的基本方法;4、學會調試一個較長程序的基本方法;5、學會利用流程圖或N-S圖表示算法;6、掌握書寫程序設計開發文檔的能力。三、課程設計應完成的工作1、編寫完成相應題目的程序;2、編寫課程設計報告 , 課程設計報告的內容
3、應包括以下6 個部分:需求分析:包括設計題目、設計要求以及系統功能需求分析;總體設計:包括系統總體設計框架和系統功能模塊圖;詳細設計:包括主要功能模塊的算法設計思路以及對應的工作流程圖;調試分析過程描述:包括測試數據、測試輸出結果,以及對程序調試過程中存在問題的思考(列出主要問題的出錯現象、出錯原因、解決方法及效果等,適當的包含結果截圖);總結:課程設計完成了哪些功能,有沒有什么擴展功能還有哪些地方需要改進課程設計過程中的學習體會與收獲、對本次課程設計的認識以及自己的建議等內容;附錄:主要源程序代碼,含必要的注釋。3、答辯:在實驗室建立程序運行的環境,并在指導教師的監督下,獨立解決問題、運行程
4、序和回答教師提出的問題。目錄第一章目的與要求 .錯誤 ! 未定義書簽。第二章總體設計 .第三章詳細設計 .功能模塊設計 .數據結構設計 .第四章調試分析 .第五章總 結 .第六章附錄 .參考文獻 .錯誤 ! 未定義書簽。錯誤 ! 未定義書簽。錯誤 ! 未定義書簽。錯誤 ! 未定義書簽。錯誤 ! 未定義書簽。錯誤 ! 未定義書簽。錯誤 ! 未定義書簽。錯誤 ! 未定義書簽。第一章目的與要求編寫目的:便于車站管理部門對汽車班次信息的統計和管理, 提高車站部門的工作效率,能夠更好的為市民服務, 同時也便于旅客了解相關的信息,方便出行。要求:能夠錄入汽車班次信息,如班次號,發車時間,起點站,終點站,行
5、車時間,額載量,已訂票人數等。能夠瀏覽班次信息,顯示信息總和(如果已發出站的要要顯示“已經開出”)。查詢路線:可按班次號查詢 , 可按終點站查詢。售票功能:當查詢出已定票人數小于額定載量且當前系統時間小于發車時間才能售票,自動更新已售票人數。退票功能:輸入退票的班次,當本班車未發出時才能退票,自動更新已售票人數。第二章總體設計1)系統總體設計框架錄瀏保退入覽查班班詢售退存出次次路票票信系信信線息統息息按按終班點次站查查詢詢2)主要功能流程圖:錄入班次信息功能流程圖:按y繼續錄入班次信瀏覽班次功能流程圖:按按按班次終點站售票系統工作流程圖:售班票車次票已已不成售發存功完出在第三章詳細設計功能模塊
6、設計售票函數while( 選擇的是“ Y”) 打印當前時間打印“班次 發車時間起點站 終點站行車時間額定載量已定票人數”for()輸出班次信息提示輸入車的班次if(當查詢出已定票人數小于額定載量且當前系統時間小于發車時間時 ) 提示售票成功!訂票人數加 1;IF (額定載量小于訂票人數)提示票已售完!;else if(輸入的班次號小于零 ) 該車不存在! else if(當前系統時間晚于發車時間)提示車已發出!提示繼續售票按Y,按任意鍵返回主菜單!輸入一個字符;退票函數while( 輸入的是 Y 的時候 )提示輸入要退票的車次;輸入一個字符;if(輸入的班次號存在和系統時間比發車時間晚) 訂票
7、人數 -1 ;提示退票成功!else if(輸入的班次號小于零 )提示該班次不存在!;)else if(要退票的那輛車的發車時間早過現在系統時間)提示車已發出不能退票??;提示繼續退票請按 (Y), 返回主菜單按任意鍵;輸入一個字符 ;菜單函數打印“車票管理系統” ;打印“系統時間”;打印“錄入班次信息” ;打印“查詢班次信息” ;打印“售票”;打印“退票”;打印“保存車次信; ;打印“退出系統”;打印“請選擇( 0-6 )”;打印“車票管理系統;得到一個字符;返回值;數據結構設計 ( 可選 )struct Timesint hour;structBuses/定義汽車int number;str
8、uct Times time;程序中涉及的數據過多, 本人決定采用兩個結構體處理數據。其中時間為一個數據結構體(即結構1),它又是汽車結構體(即結構2)的一個成員元素,這樣處理數據容易些。第四章調試分析本人在寫代碼的過程中覺得難控制的是那個班次數。因為本系統提供了個錄入信息功能, 可以不定時的增加班次, 即這個班次數是不確定的。而這個班次數又影響到查詢函數,退票函數,售票函數等,另外還影響到一些功能小函數,如比較時間函數等。 經過上網查找資料,我發現有一個巧妙的方法可以解決這個問題,即設定一個靜態局部變量(即代碼中的H),這樣每當班次號改變之后這個H 的值就和它的班次號一樣大,這樣就可以解決之
9、前提到的問題了。另外,這個系統要有一個保存文件功能,由于本人對文件保存處理不清楚,設計過程中一直搞不明白。最后在網上查到了相關信息才可以弄出。以下是該程序運行的部分結果:主界面 :信息錄入圖和瀏覽時刻表:查詢售票圖 :退票圖 :保存信息圖 :第五章總結經歷近幾天的學習和鍛煉,這個車票管理系統算是做出來了(不過我承認我是參考網上代碼所得,我基本能看懂)。它基本有前面提到過的功能,即錄入班次信息,瀏覽班次信息,售票和退票,保存文件。有一個擴展功能, 即可以退出系統 (代碼中的 sys_exit()函數)。不過目前我發現它一個不足之出,就是不能對輸入時間的格式起限制作用。如我可以輸入 26:30:0
10、0,它系統不會提示說輸入錯誤提示再輸入一個正確的時間。還有,就是整個代碼條理不夠清晰,只是用到一個主函數和調用其他函數, 可讀性差!我認為最好是能分模塊化處理,分文件處理,這樣條理性強, 可讀性高,再者修改也容易。不過由于本人水平有限,不能這樣處理。經歷這近幾天的鍛煉,我也比較滿意自己的表現。在這過程中我查閱了很多書, 學到了很多課堂上沒有的東西。 很多知識我之前不知道的現在大部分都知道了,不過理解不夠深透 , ,導致在這近幾天里碰了不少壁!近幾天我覺得編程既是一項費時費力但也是有趣的事。說它費時費力是因為它繁瑣, 而有趣是因為我很享受一段段的小程序編成功之后的喜悅,苦盡干來啊。我覺得編程是一
11、件快樂的差事,我想我今后會加把時間學習它,把它學好。第六章附錄程序代碼:#include#include#include#include#include#include#include#define Max 50.);getchar();intcompare_time(structTimest1,structTimest2)ime,busj.time)k=j;if(k!=i)b=copy(b,busi);busi=copy(busi,busk);busk=copy(busk,b);int number_search(struct Buses bus,int n)umber=n)return i
12、;return -1;int end_search(struct Buses bus,char ends)umber);getchar();while(number_search(bus,busi.number)=0)printf(你輸入的班次已存在請重新輸入!:);scanf(%d,&busi.number);getchar();printf(請輸入時間如 :(20:30:00) :);scanf(%d:%d:%d,&busi.,&busi.,&busi.;getchar();printf(請輸入車的起點站 :);scanf(%s,busi.start);getchar();printf(請
13、輸入車的終點站 :);scanf(%s,busi.end);getchar();printf(請輸入行車時間 :);scanf(%f,&busi.time_cost);getchar();printf(請輸入車的額定載量 :);scanf(%d,&busi.carry_number);getchar();busi.booK_number=0;H+;i+;printf(信息錄入成功 !n);printf(繼續錄入請按 (Y), 返回主菜單按任意鍵 .);flag=getchar();void chaxun(struct Buses bus).);flag=getchar();void shoup
14、iao(struct Buses bus)arry_numberbusn.booK_number&compare_systime(bus n,tnow)printf(nttt售票成功 !n);busn.booK_number+;printf(t班次 發車時間起點站終點站行車時間額定載量已定票人數 );printf(nt-n);print(busn);printf(nt-n);if(busn.carry_number=busn.booK_number)printf(nttt該次車的票已售完!n);else if(n0)printf(nttt該次車不存在 !n);else if(!compare_systime(busn,tnow)printf(nttt該次已發出!n);printf(tt繼續售票請按(Y),返回主菜單按任意鍵.);flag=getchar();void tuipiao(struct Buses b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 推動雙減政策與教育質量雙提升方案
- 推動農業農村現代化的實施路徑
- 肉制品行業發展趨勢與市場前景解析
- 農機更新升級行動計劃
- 果蔬消毒柜市場發展動態與未來前景分析
- 物料需求計劃實現
- 銀行投資理財產品試題及答案2025年詳解
- 理財軟件的使用技巧試題及答案
- 2025年CFA考試新經濟環境試題及答案
- 數據驅動的生產決策計劃
- 2025中國新型儲能行業發展白皮書
- 家庭車輛掛別人名下協議書范文
- 新教科版小學1-6年級科學需做實驗目錄
- 小學四年級上冊數學課后訓練題:《數字編碼》
- 長城牌通用潤滑油、脂替代其他品牌產品清單
- API-682密封系統-中英文對照版
- 電動葫蘆出廠檢驗報告
- 挖機大中斗油封資料,液壓泵資料
- 技術開發部個人技能矩陣圖
- Hillstone設備密碼與配置恢復方法
- 二年級下冊語文教案第六單元部編版
評論
0/150
提交評論