九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

車(chē)票管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc

上傳人:good****022 文檔編號(hào):116545449 上傳時(shí)間:2022-07-05 格式:DOC 頁(yè)數(shù):11 大?。?06.01KB
收藏 版權(quán)申訴 舉報(bào) 下載
車(chē)票管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc_第1頁(yè)
第1頁(yè) / 共11頁(yè)
車(chē)票管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc_第2頁(yè)
第2頁(yè) / 共11頁(yè)
車(chē)票管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc_第3頁(yè)
第3頁(yè) / 共11頁(yè)

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《車(chē)票管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《車(chē)票管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc(11頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、軟件技術(shù)課程設(shè)計(jì)車(chē)票管理系統(tǒng)一 目的通過(guò)課程設(shè)計(jì),加深對(duì)C語(yǔ)言程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)課程所學(xué)知識(shí)的理解,熟練掌握和鞏固C語(yǔ)言的基本知識(shí)和語(yǔ)法規(guī)范,包括:數(shù)據(jù)類(lèi)型(整形、實(shí)型、字符型、指針、數(shù)組、結(jié)構(gòu)等);運(yùn)算類(lèi)型(算術(shù)運(yùn)算、邏輯運(yùn)算、自增自減運(yùn)算、賦值運(yùn)算等);程序結(jié)構(gòu)(順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu));庫(kù)函數(shù)應(yīng)用等;復(fù)雜任務(wù)功能分解方法(自頂向下逐步求精、模塊化設(shè)計(jì)、信息隱藏等),熟練掌握和鞏固三種基本的數(shù)據(jù)結(jié)構(gòu)(線性結(jié)構(gòu)、樹(shù)形結(jié)構(gòu)、圖形結(jié)構(gòu))的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)以及相關(guān)運(yùn)算和應(yīng)用。學(xué)會(huì)編制結(jié)構(gòu)清晰、風(fēng)格良好、數(shù)據(jù)結(jié)構(gòu)適當(dāng)?shù)腃語(yǔ)言程序,從而具備利用計(jì)算機(jī)編程分析解決綜合性實(shí)際問(wèn)題的初步能力二

2、需求分析1、首先本演示程序要實(shí)現(xiàn)錄入班次信息的功能,并且要用文件來(lái)保存這些信息,還可以不定時(shí)的增加班次數(shù)據(jù)。2、需要瀏覽班次信息是可以一次性輸出當(dāng)前的班次狀況,并且要從實(shí)際考慮,若當(dāng)前系統(tǒng)時(shí)間已經(jīng)超過(guò)了某班次的發(fā)車(chē)時(shí)間,則要顯示“此班已發(fā)出”的提示信息。3、此程序既為車(chē)票管理系統(tǒng),就要實(shí)現(xiàn)查詢路線、售票、退票等功能。當(dāng)使用查詢路線功能時(shí),要分兩種情況:按班次號(hào)查詢和按終點(diǎn)站查詢。若使用售票功能,則只有在查詢出已定票人數(shù)小于額定載量且當(dāng)前系統(tǒng)時(shí)間小于發(fā)車(chē)時(shí)間時(shí)才能售票,并且要自動(dòng)跟新已售票人數(shù)。退票要輸入退票的班次,當(dāng)本班車(chē)尚未出發(fā)時(shí)才能退票,也要自動(dòng)更新已售票人次。4、演示程序以用戶和計(jì)算機(jī)的

3、對(duì)話方式執(zhí)行,即在計(jì)算機(jī)的屏幕上顯示“提示信息”下,用戶根據(jù)自己的意愿自行操作,每次測(cè)試完畢,新增加的班次信息要保存在data.txt文件中。三 概要設(shè)計(jì)1、本程序各個(gè)模塊的功能及調(diào)用關(guān)系:(1)主程序模塊main()函數(shù):此主程序的主要目的是用來(lái)調(diào)用讀取文件函數(shù)、功能菜單函數(shù)以及保存文件信息函數(shù)。(2)文件讀入與保存函數(shù)read()、save()以及功能菜單MainMenu()函數(shù):這三個(gè)函數(shù)的主要目的是為了讀取文件,保存文件和為用戶創(chuàng)造一個(gè)功能菜單以便于用戶的操作。(3)在MainMenu()函數(shù)中調(diào)用的各級(jí)功能函數(shù):這個(gè)模塊中有六個(gè)函數(shù),MainMenu()函數(shù)調(diào)用這六個(gè)函數(shù)來(lái)分別實(shí)現(xiàn)增

4、加班次、瀏覽班次信息、查找班次、售票、退票、退出的功能。 2、程序中出現(xiàn)的數(shù)據(jù)類(lèi)型定義及含義:本程序采用鏈表存儲(chǔ)相關(guān)信息,定義如下typedef struct Node int num; /班次號(hào) int sTimeH, sTimeM; /發(fā)車(chē)時(shí)間(小時(shí)sTimeH和分鐘sTimeM) int sumSeat, soldSeat; /總座位數(shù), 已訂票人數(shù) float lastTime; /行車(chē)時(shí)間 char begin20, end20; /起始站,終點(diǎn)站 struct Node * next; /指向下一個(gè)節(jié)點(diǎn)Node, * LinkedNode; 四 詳細(xì)設(shè)計(jì)讀文件開(kāi)始主菜單getch(

5、)=?1增加2查看3查詢4售票5賣(mài)票結(jié)束ESC存儲(chǔ)用全局變量List保存鏈表的頭結(jié)點(diǎn)LinkedNode List;ShowHead()、ShowNode(Node * p);這兩個(gè)函數(shù)用于顯示鏈表信息: ShowHead()輸出航班、發(fā)車(chē)時(shí)間、站點(diǎn)等標(biāo)題信息; ShowNode()輸出鏈表中存儲(chǔ)的確切信息。Read()函數(shù)讀取文件信息并存入鏈表:定義一個(gè)指針*fp指向所要打開(kāi)的文件,List = (LinkedNode)malloc(sizeof(Node);LinkedNode p = List; 為頭結(jié)點(diǎn)申請(qǐng)空間并用p指向頭結(jié)點(diǎn);fseek()函數(shù)來(lái)移動(dòng)*fp指針;ftell()函數(shù)返回

6、指針;然后用fscanf()從文件中輸入信息。最后用fclose(fp)來(lái)關(guān)閉文件。Save()函數(shù)將鏈表存儲(chǔ)的信息存進(jìn)文件并釋放所占空間: 用fopen()函數(shù)打開(kāi)fp指向的文件; 然后用fprintf()函數(shù)輸出鏈表信息并存到文件里; 最后用fcolse(fp)關(guān)閉文件。IsSetOff(Node * p)函數(shù)用于判斷班次是否已經(jīng)出發(fā):time_t t; time(&t);struct tm * timeinfo = localtime(&t)獲取系統(tǒng)時(shí)間,然后與班次出發(fā)時(shí)間比較并將結(jié)果用return()函數(shù)返回。 Add()函數(shù)是增加一個(gè)班次:LinkedNode p = List;定義

7、p指向頭結(jié)點(diǎn);然后用malloc()函數(shù)為結(jié)點(diǎn)申請(qǐng)空間;用scanf()函數(shù)輸入各種信息;ShowHead(); ShowNode(p); 輸出新增加的班次信息。Lookup()函數(shù)顯示各班次信息:if (IsSetOff(p) printf(nn此班已出發(fā));ShowNode(p);p = p-next; 依次顯示文件中的班次信息。SearchPath()函數(shù)查詢路線:int n; printf(請(qǐng)輸入要出售的車(chē)票班次:); scanf(%d, &n); 按班次號(hào)來(lái)售票;char ch20; printf(請(qǐng)輸入終點(diǎn)站:); scanf(%s, &ch);按終點(diǎn)站來(lái)查詢。SaleTicket

8、()、ReturnTicket()函數(shù)用來(lái)賣(mài)票退票:if (IsSetOff(p) printf(此班已出發(fā)!n); 此時(shí)班次出發(fā)時(shí)間超過(guò)系統(tǒng)時(shí)間;+p-soldSeat; printf(售票成功n);ShowHead();ShowNode(p);輸出賣(mài)票后的該班次信息。退票功能的實(shí)現(xiàn)與以上功能相似,+p-soldSeat改成-p-soldSeat表示退票后soldSeat數(shù)減少一個(gè)。Quit()函數(shù)退出:MainMenu()函數(shù)是主菜單,各個(gè)功能的選擇:switch(getch() 用一個(gè)switch函數(shù)來(lái)選擇一個(gè)功能;用getch()從鍵盤(pán)輸入一個(gè)數(shù)字來(lái)選擇功能。主函數(shù)void main(

9、)主函數(shù)來(lái)調(diào)用Read()、MainMenu()、Save()三個(gè)函數(shù);實(shí)現(xiàn)從文件讀取信息,打開(kāi)主菜單,保存信息到文件中的功能。五 調(diào)試分析1、該程序的關(guān)鍵是用一個(gè)結(jié)構(gòu)體來(lái)存儲(chǔ)每個(gè)班次的各種信息,然后建立一個(gè)單鏈表存儲(chǔ)所有的班次。要注意的是正確的定義頭結(jié)點(diǎn)指針,還有保證每次循環(huán)都能正確的進(jìn)行下去。只有保證這些細(xì)節(jié)都正確,程序才能正常的運(yùn)行。2、在設(shè)計(jì)程序的時(shí)候要設(shè)計(jì)多個(gè)模塊,比如程序中的查詢、售票、退票、功能菜單等,最后用一個(gè)主函數(shù)來(lái)調(diào)用其他的函數(shù),我在調(diào)試時(shí)發(fā)現(xiàn)每次賣(mài)票后都不能正常的返回,經(jīng)檢查后才發(fā)現(xiàn)是因?yàn)榈袅艘痪鋚=p-next,所以在以后寫(xiě)程序時(shí)都要認(rèn)真仔細(xì),這樣才不至于在調(diào)試程序的時(shí)

10、候出現(xiàn)問(wèn)題,浪費(fèi)很多時(shí)間。3、在寫(xiě)這個(gè)程序的時(shí)候,調(diào)試過(guò)程中發(fā)現(xiàn)了很多錯(cuò)誤,這樣很不容易修改,所以最好循序漸進(jìn),認(rèn)真寫(xiě)好每一個(gè)程序,檢查后再寫(xiě)下一個(gè),這樣更能保證整個(gè)程序的正確性,也便于隨時(shí)調(diào)整。4、在調(diào)試的過(guò)程中同樣出現(xiàn)文件寫(xiě)入和讀出的問(wèn)題,所以文件的格式必須熟練掌握,這樣才能正確的實(shí)現(xiàn)功能,達(dá)到目的。六 測(cè)試結(jié)果1、將程序在VC6中打開(kāi)后點(diǎn)擊編譯、運(yùn)行后出現(xiàn)主界面如下圖:2、我們先查看已有的班次,選擇2,則出現(xiàn)下圖:3、按任意鍵返回主菜單,然后我們選擇增加一個(gè)班次,選擇1,根據(jù)提示分別輸入班次:5、發(fā)車(chē)時(shí)間:22:30、起始站:武漢、終點(diǎn)站:南京、行車(chē)時(shí)間3.5、額定載量:50則出現(xiàn)下圖:

11、此時(shí)按任意鍵返回主菜單,再選擇2查看班次,我們發(fā)現(xiàn)班次5已經(jīng)增加進(jìn)去了,如圖:4、按任意鍵返回主菜單選擇3查詢功能,則出現(xiàn)按班次號(hào)查詢和按終點(diǎn)站查詢,我們先選擇1并輸入3,則會(huì)出現(xiàn)班次3的信息如圖:然后我們選擇2繼續(xù)按終點(diǎn)站查詢,輸入南京,則會(huì)顯示如圖:5、按ESC返回主菜單選擇4售票,然后輸入要購(gòu)買(mǎi)的班次號(hào),若該班次已發(fā)出,則會(huì)顯示:此班已出發(fā)。否則顯示售票成功,并輸出該班次的信息:,6、現(xiàn)在我們按任意鍵返回主菜單并選擇5,實(shí)現(xiàn)退票功能,輸入要退票的班次,我們輸入5,則顯示如圖:此時(shí)我們發(fā)現(xiàn)已經(jīng)退票成功。7、若想退出,則按ESC,顯示如圖:七 用戶使用說(shuō)明1、本程序可以在VC6的環(huán)境下運(yùn)行。

12、2、程序運(yùn)行后,會(huì)自動(dòng)從文件讀取數(shù)據(jù),并出現(xiàn)功能菜單用戶要根據(jù)自己的意愿自己選擇所要執(zhí)行的功能,每次用戶選擇功能后都會(huì)有提示輸入信息,用戶只需根據(jù)提示輸入信息便可輕松使用各種功能。3、當(dāng)用戶使用完并退出后,新增加的班次信息會(huì)自動(dòng)保存在data.txt八 課程設(shè)計(jì)總結(jié)通過(guò)本次的課程設(shè)計(jì),讓我又重新拿起了程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)課本,好好的復(fù)習(xí)了一下以前學(xué)過(guò)的知識(shí)。對(duì)循環(huán)結(jié)構(gòu)、指針、結(jié)構(gòu)體,函數(shù)調(diào)用,switch語(yǔ)句, for循環(huán)語(yǔ)句等有了更為系統(tǒng)的了解,也學(xué)會(huì)了制作流程圖,明白了一個(gè)設(shè)計(jì)精良的程序要的不僅是它的正確輸出結(jié)果,還要有簡(jiǎn)明可靠地思路,良好的穩(wěn)定性等。通過(guò)這次課程設(shè)計(jì),讓我能把相關(guān)的知識(shí)聯(lián)系起來(lái)解決要解決的問(wèn)題。更為重要的是,經(jīng)過(guò)這次課程設(shè)計(jì),我學(xué)會(huì)了要有模塊化的思想進(jìn)行程序設(shè)計(jì),提高了對(duì)問(wèn)題的分析和解決能力。增強(qiáng)了程序設(shè)計(jì)過(guò)程中對(duì)程序的調(diào)試能力,知道如何解決調(diào)試過(guò)程中遇到的問(wèn)題,從中提高對(duì)問(wèn)題分析的能力??傊?,設(shè)計(jì)程序是一件很需要毅力的事,不僅讓我懂得了一個(gè)程序設(shè)計(jì)者基本的工作素質(zhì)要求,也讓我懂得今后無(wú)論做什么事情都需要決心、耐心、細(xì)心、專(zhuān)心、恒心、信心。11

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!