C語言課程設(shè)計(jì)報(bào)告書-火車票務(wù)管理系統(tǒng)_第1頁
C語言課程設(shè)計(jì)報(bào)告書-火車票務(wù)管理系統(tǒng)_第2頁
C語言課程設(shè)計(jì)報(bào)告書-火車票務(wù)管理系統(tǒng)_第3頁
C語言課程設(shè)計(jì)報(bào)告書-火車票務(wù)管理系統(tǒng)_第4頁
C語言課程設(shè)計(jì)報(bào)告書-火車票務(wù)管理系統(tǒng)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C課程設(shè)計(jì)A組火車票務(wù)系統(tǒng)延邊大學(xué)工學(xué)院C語言課程設(shè)計(jì)報(bào)告書題目: 火車票務(wù)系統(tǒng)(A) 班 級(jí): 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 二九 年 七 月 一系統(tǒng)功能的總體描述本系統(tǒng)要求實(shí)現(xiàn)火車票務(wù)基本信息的查詢,訂票、售票、退票、車次查詢等。功能要求實(shí)現(xiàn):火車票的基本信息:符合條件的車次名稱、開時(shí)、到時(shí)、歷時(shí)、里程、票價(jià)(硬座、軟座、硬臥(上、中、下)軟臥(上、中、下)車次類型、站名的查詢顯示,統(tǒng)計(jì),添加(新加車次)、更改(售出票后需修改所剩票數(shù))和刪除(已發(fā)車次信息)等。二、系統(tǒng)基本功能 本系統(tǒng)可實(shí)現(xiàn)火車票務(wù)信息的管理和查詢等功能。它的基本功能是建立火車票信息鏈表,存儲(chǔ)火車票的基本信息,實(shí)現(xiàn)對(duì)已有

2、車次票務(wù)的查詢、預(yù)訂、售票、退票等業(yè)務(wù)的保存、修改等。軟件輸出 輸入形式:軟件提示信息豐富、容易理解,重點(diǎn)是依據(jù)火車票務(wù)的特點(diǎn)有明顯的即時(shí)性和快速性。測(cè)試數(shù)據(jù)要求:本系統(tǒng)的測(cè)試數(shù)據(jù)當(dāng)輸入想要到達(dá)的目的地信息時(shí)輸出符合的車次、到站時(shí)間、開車時(shí)間以及終到站時(shí)間,車次名稱、開時(shí)、到時(shí)、歷時(shí)、車次類型、站名必須用字符串?dāng)?shù)據(jù);里程、車票剩余情況、票價(jià)情況必須用整型數(shù)據(jù)。對(duì)車票的基本信息進(jìn)行查找時(shí)按目的地、時(shí)間和車次三種查找方式查找。測(cè)試數(shù)據(jù)要有即事性、快速性。三、系統(tǒng)具體分析(一)所需的功能1 輸入功能:錄入目的地信息 2 輸出功能:查看所查信息 3 查詢功能:查詢符合車次及相關(guān)信息 4 修改功能:更新

3、系統(tǒng)信息5 刪除功能:對(duì)已發(fā)車輛信息刪除 6 票務(wù)功能:負(fù)責(zé)售票和退票業(yè)務(wù)7 安全功能:負(fù)責(zé)管理員密碼審核、修改等安全(二)系統(tǒng)功能模塊劃分火車票務(wù)管理系統(tǒng)系統(tǒng)信息幫助退出系統(tǒng)歷史記錄票務(wù)功能查詢功能密碼識(shí)別密碼重置錄入信息刪除信息修改信息通過目的地查詢通過車次查詢售票退票(三)各模塊的功能描述主菜單模塊功能功能模塊程序功能描述主函數(shù)調(diào)用其他功能模塊系統(tǒng)信息儲(chǔ)存、修改、刪除票務(wù)信息,此功能需要管理員密碼驗(yàn)證查詢功能主要預(yù)定義兩種查詢方式的調(diào)用,經(jīng)查詢后顯示車次票務(wù)的信息票務(wù)功能用來調(diào)用兩種票務(wù)方式即售票和退票歷史記錄記錄歷史操作信息,供備忘和查詢幫 助對(duì)系統(tǒng)使用的部分說明,此部分以文件方式保存

4、,需要時(shí)可打開退 出用戶退出系統(tǒng)子菜單模塊功能描述密碼識(shí)別識(shí)別管理員身份密碼重置用以修改密碼錄入信息錄入最新車次票務(wù)信息刪除信息刪除已發(fā)車次的舊信息修改信息修改因臨時(shí)加開、臨時(shí)停運(yùn)、或票務(wù)的更改信息通過目的地查詢輸入想要到達(dá)的目的地查詢終到站為所查地點(diǎn)車次、票務(wù)的全部信息通過車次查詢輸入想要乘坐的車次查詢?cè)撥嚧蔚男熊?、票?wù)的全部信息售 票辦理售票業(yè)務(wù)退 票辦理退票業(yè)務(wù)(四)函數(shù)調(diào)用過程主函數(shù)xtxx函數(shù)ggmimalrgnxggnscgnsavesaveccchanxunmddchaxunspgntpgncxgn函數(shù)pwgn函數(shù)lsjl函數(shù)exitmmyz注:標(biāo)記處為函數(shù)調(diào)用四、系統(tǒng)核心算法1

5、、ccchanxun函數(shù)通過車次查詢列車信息輸入:要查詢車次輸出:相關(guān)信息Step1:輸入要查詢的列車號(hào)char6(在中國(guó)列車號(hào)有數(shù)字和字母組成,最長(zhǎng)為5個(gè)字符,如:k8371因此為節(jié)省內(nèi)存只需定義6字符長(zhǎng)度的數(shù)組)Step2:用c與鏈表中的列車號(hào)(*p).lchao相比較判斷strcmp(*p).lchao,c)是否等于零,否則進(jìn)行step3,是則進(jìn)行step4Step3:令p=p->next,判斷p是否指向空節(jié)點(diǎn)NULL,若是則轉(zhuǎn)到step2,否則進(jìn)行step5Step4:顯示相關(guān)信息(車次名稱、開時(shí)、到時(shí)、歷時(shí)、票價(jià)、車次類型等)Step5:顯示未能找到所尋車次輸入要查詢車次cha

6、r6While(strcmp(*p).lchao,c)!=0&&m1!=NULL) P=NULLT F未能找到所尋車次顯示該車次的全部錄入信息p=p->next ccchanxun函數(shù)N-S流程圖2、mddcharxun函數(shù)通過目的地查詢最終能到達(dá)目的地的全部車次,以及全部相關(guān)信息輸入:要查詢目的地輸出:相關(guān)信息Step1:輸入要查詢的目的地char20Step2:用c與鏈表中的終到站(*p).zhongdaozhan相比較判斷strcmp(*p).zhongdaozhan,m)是否等于零,否則進(jìn)行step3,是則進(jìn)行step4Step3:令p=p->next,判斷

7、p是否指向空節(jié)點(diǎn)NULL,若是則轉(zhuǎn)到step2,否則進(jìn)行step5Step4:顯示相關(guān)信息(全部車次名稱、開時(shí)、到時(shí)、歷時(shí)、票價(jià)、車次類型等)Step5:顯示未能找到所尋目的地。輸入要查詢的目的地char20While strcmp(*p).zhongdaozhan,m)!=0&&m1!=NULL) P=NULLT F未能找到所尋目的地顯示相關(guān)信息(時(shí)間票價(jià)等)p=p->next mddcharxun函數(shù)N-S流程圖3.lrgn函數(shù)有管理員將列車信息錄入Step1:建立一個(gè)指向結(jié)構(gòu)體的指針pStep2:將各項(xiàng)信息分別存放到結(jié)構(gòu)體當(dāng)中,如:輸入車次gets(p->ch

8、eci),輸入終到站gets(p->zhongdaozhan)輸入運(yùn)行日期時(shí)間scanf(“%d”,&p->yunxingriqi)4Spgn函數(shù)用來售出剩余車票輸入:購買票數(shù)n輸出:打印出車票Step1:查找是否有可以到達(dá)目的地的車次次過程需要調(diào)用mddchaxun函數(shù)Step2:輸入要購買的數(shù)量n張,如果n小于剩余票數(shù)n<(*p).yupiao進(jìn)行step3 否則執(zhí)行step4Step3:執(zhí)行p->yupiao=p->yupiao-n重新定義余票數(shù),執(zhí)行step5Step4:顯示余票不足,重新選擇票數(shù),執(zhí)行step2Step5:打印n張車票直到n<

9、;(*p).yupiaop->yupiao=p->yupiao-n余票不足,請(qǐng)重新輸入 n<(*p).yupiaoT F輸入要購買的票數(shù)n打印n張車票 Spgn函數(shù)N-S流程圖5.tpgn函數(shù)用于辦理退票業(yè)務(wù)算法同上函數(shù)6.mmyz函數(shù)用來審核管理員權(quán)限Step1:定義兩個(gè)字符型組數(shù)char a20 b20,將用戶名和密碼分別放在數(shù)組當(dāng)中Step2:比較輸入的用戶名和密碼與預(yù)先存儲(chǔ)在結(jié)構(gòu)體中的用戶名和密碼是否相同,如果 !strcmp(*p)user,a)&&!strcmp(*p)key,b)不為零,則進(jìn)行step4,否則進(jìn)行step3Step3:顯示您輸入的

10、用戶名或密碼有誤,請(qǐng)重新輸入,轉(zhuǎn)入step1Step4:顯示密碼正確,審核通過直到條件成立將用戶名和密碼存放到數(shù)組char a20 b20當(dāng)中 !strcmp(*p)user,a) &&!strcmp(*p)key,b)T F用戶名或密碼有誤,請(qǐng)重新輸入密碼已經(jīng)通過驗(yàn)證密碼已經(jīng)通過驗(yàn)證繼續(xù)進(jìn)行系統(tǒng)信息修改 mmyz函數(shù)N-S流程圖7. scgn函數(shù)刪除已發(fā)列車的信息輸入:要?jiǎng)h除列車號(hào)輸出:信息刪除Step1:輸入要?jiǎng)h除的列車信息 c6Step2:若鏈表第一個(gè)列車號(hào)為要?jiǎng)h除的列車號(hào),p指向下一個(gè)結(jié)點(diǎn)作為鏈表新表頭,則轉(zhuǎn)step5,否則,p指針從第二個(gè)結(jié)點(diǎn)開始比較找出要?jiǎng)h除的列車號(hào)Step3:將此結(jié)點(diǎn)后的值作為p->LChao.這樣把列車信息c刪除并連成新鏈表Step4:將自由指針釋放Step5:顯示此列車信息已刪除P=head,輸入要?jiǎng)h除列車號(hào)c6 Strcmp(c,p->num)=0TFp=p->next;Head=pWhile(strcmp()!=0&&p->next!=NULL)q=p->next;p->next=q->next;釋放q顯示列車信息已被刪除p=p->nextsc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論