版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、沈陽(yáng)大學(xué)課 程 設(shè) 計(jì) 說(shuō) 明 書(shū)學(xué)生姓名:學(xué)號(hào):學(xué) 院:專 業(yè):題 目:指導(dǎo)教師:一、設(shè)計(jì)目的1、通過(guò)課程設(shè)計(jì)使學(xué)生進(jìn)一步加深對(duì)課程內(nèi)容的理解。 2、用程序設(shè)計(jì)的基本思想進(jìn)行程序的開(kāi)發(fā),進(jìn)一步掌握編程的方法和技巧。3、提高同學(xué)用程序的思想來(lái)解決實(shí)際問(wèn)題的能力。二、設(shè)計(jì)要求1、認(rèn)真查閱資料。2、遵守課程設(shè)計(jì)時(shí)間安排。3、按時(shí)上機(jī),認(rèn)真調(diào)試程序。4、組員之間應(yīng)相互合作,共同分析解決問(wèn)題。5、認(rèn)真撰寫(xiě)報(bào)告。 三、設(shè)計(jì)題目:車票管理系統(tǒng)1、功能說(shuō)明 錄入班次信息(信息用文件保存),可不定時(shí)增加班次數(shù)據(jù)。瀏覽班次信息,可顯示所有班次當(dāng)前狀總(如果當(dāng)前系統(tǒng)時(shí)間超過(guò)了某班次的發(fā)車時(shí)間,則顯示“此班已發(fā)出”
2、的顯示信息。 查詢路線:可按班次號(hào)查詢,可按終點(diǎn)站查詢。 售票與退票功能a:當(dāng)查詢出已定票人數(shù)小于額定載量且當(dāng)前系統(tǒng)時(shí)間小于發(fā)車時(shí)間時(shí)才能售票,自動(dòng)更新已售票人數(shù)。b:退票時(shí)輸入退票的班次,當(dāng)本班車未發(fā)出時(shí)才能售票,自動(dòng)更新已售票人數(shù)。2、運(yùn)行環(huán)境:windows,c語(yǔ)言環(huán)境 四、指導(dǎo)教師 五、主要參考資料(文獻(xiàn))1 譚浩強(qiáng)編著 c程序設(shè)計(jì) 清華大學(xué)出版社 20062 蘇小紅編著 c語(yǔ)言大學(xué)實(shí)用教材 清華大學(xué)出版社 2005一、 設(shè)計(jì)思想1.1總體思想在本次c語(yǔ)言課程設(shè)計(jì)的實(shí)訓(xùn)中,我們利用c語(yǔ)言的有關(guān)知識(shí)完成了車票管理系統(tǒng)的設(shè)計(jì)。車票信息采用半十字鏈表。橫向鏈表中的每一個(gè)結(jié)點(diǎn)包含以下內(nèi)容:車次
3、,起始站,發(fā)車時(shí)間,指向下一個(gè)結(jié)點(diǎn)的指針,指向中途站的指針.縱向鏈表中每一個(gè)結(jié)點(diǎn)包含以下內(nèi)容:從始發(fā)站開(kāi)始的依次到站,票價(jià),到達(dá)時(shí)間,是否已被購(gòu)買(mǎi)標(biāo)識(shí),才用mark標(biāo)識(shí),當(dāng)mark為1時(shí)車票已售出,當(dāng)mark為0時(shí)車票還未售出。以及指向下一個(gè)結(jié)點(diǎn)的指針。縱向鏈表采用循環(huán)鏈表,尾指針指向首指針。未購(gòu)票用戶信息使用隊(duì)列來(lái)保存,因?yàn)榭紤]到用戶會(huì)預(yù)訂票,所以把用戶以來(lái)訂票的時(shí)間早晚排在隊(duì)中。先來(lái)先買(mǎi),后來(lái)后買(mǎi)。隊(duì)列中的每個(gè)元素包含以下內(nèi)容:用戶姓名,身份證號(hào)碼,要購(gòu)票的車次,起始站,要到的站,時(shí)間。已經(jīng)購(gòu)票用戶信息使用一個(gè)單鏈表來(lái)保存,鏈表中的沒(méi)個(gè)結(jié)點(diǎn)包含以下內(nèi)容:用戶姓名,身份證號(hào)碼,已購(gòu)車票的車次
4、,出發(fā)時(shí)間,到達(dá)時(shí)間。用戶進(jìn)入歡迎界面后,按照提示進(jìn)行相應(yīng)的操作,來(lái)管理車票系統(tǒng)。1.2算法的設(shè)計(jì)主函數(shù):利用case語(yǔ)句實(shí)現(xiàn)用戶界面,用戶輸入需要的服務(wù)的數(shù)字代碼,程序就會(huì)轉(zhuǎn)到相應(yīng)的函數(shù),實(shí)現(xiàn)相應(yīng)的功能。在主函數(shù)開(kāi)始處做下first標(biāo)識(shí),以便在其他函數(shù)中使用goto語(yǔ)句返回主函數(shù)的用戶界面。in()函數(shù):in()函數(shù)負(fù)責(zé)輸入各種信息,鏈表中車票信息的初始值。book()函數(shù):book()函數(shù)負(fù)責(zé)訂票功能,主要是遍歷整個(gè)鏈表,查找到需要訂票的結(jié)點(diǎn)后修改其mark值。inquire()函數(shù):inquire()函數(shù)主要負(fù)責(zé)查詢功能,主要是遍歷整個(gè)鏈表查找到需要的結(jié)點(diǎn),然后輸出。cancel()函數(shù)
5、:cancel()函數(shù)主要負(fù)責(zé)退票功能,主要是遍歷整個(gè)鏈表查找到需要的結(jié)點(diǎn),然后修改mark的值。you()函數(shù):you()函數(shù)主要負(fù)責(zé)輸入用戶信息,主要是創(chuàng)建一個(gè)單鏈表,將用戶信息放入,并提供管理人員的查詢功能。.find()函數(shù):find()函數(shù)主要負(fù)責(zé)查詢用戶信息,遍歷整個(gè)單鏈表后,輸出需要的信息。total()函數(shù):total()函數(shù)主要負(fù)責(zé)統(tǒng)計(jì)整個(gè)訂票系統(tǒng)的情況。二、 需求分析2.1編寫(xiě)目的通過(guò)對(duì)用戶需求進(jìn)行調(diào)查分析,寫(xiě)出需求分析文檔作為項(xiàng)目設(shè)計(jì)的基本準(zhǔn)則要求,以及作為系統(tǒng)分析員進(jìn)行系統(tǒng)分析和測(cè)試人員進(jìn)行測(cè)試時(shí)的手冊(cè)2.2需求概述設(shè)計(jì)一個(gè)車票管理系統(tǒng)能提供以下功能: 錄入功能: 錄入
6、班次信息(信息用文件保存),可不定時(shí)增加班次數(shù)據(jù)。瀏覽功能:瀏覽班次信息,可顯示所有班次當(dāng)前狀總(如果當(dāng)前系統(tǒng)時(shí)間超過(guò)了某班次的發(fā)車時(shí)間,則顯示“此班已發(fā)出”的顯示信息。查詢功能:可按班次號(hào)查詢,可按終點(diǎn)站查詢。售票與退票功能:a:當(dāng)查詢出已定票人數(shù)小于額定載量且當(dāng)前系統(tǒng)時(shí)間小于發(fā)車時(shí)間時(shí)才能售票,自動(dòng)更新已售票人數(shù)。b:退票時(shí)輸入退票的班次,當(dāng)本班車未發(fā)出時(shí)才能售票,自動(dòng)更新已售票人數(shù)。2.3需求說(shuō)明當(dāng)查詢出已定票人數(shù)小于額定載量且當(dāng)前系統(tǒng)時(shí)間小于發(fā)車時(shí)間時(shí)才能售票,自動(dòng)更新已售票人數(shù)。退票時(shí)輸入退票的班次,當(dāng)本班車未發(fā)出時(shí)才能售票,自動(dòng)更新已售票人數(shù)??梢詫?shí)現(xiàn)以下功能:錄入功能瀏覽功能查詢
7、功能售票與退票功能三、個(gè)人設(shè)計(jì)3.1編寫(xiě)目的根據(jù)項(xiàng)目概要設(shè)計(jì)說(shuō)明書(shū),在項(xiàng)目概要設(shè)計(jì)的基礎(chǔ)之上,對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),以便下一步進(jìn)行窗體設(shè)計(jì)和代碼編碼工作。用book()函數(shù)實(shí)現(xiàn)訂購(gòu)。3.2程序流程圖,如圖4.1所示:開(kāi)始輸入班次信息輸入終點(diǎn)站否是否成功(mark=0)是是退票成功結(jié)束圖4.13.3程序代碼:void book() struct ticket *p,*o; struct station *q,*s; int f,h; printf(“請(qǐng)輸入班次號(hào):”);scanf(“%d”,&f); /*輸入需要的車次*/printf(“請(qǐng)輸入終點(diǎn)站:”); scanf(“%d”,&h); /*輸
8、入需要到達(dá)的車站名*/p=head1; /*初始化p的值*/while(p!=null)if(p-number=t) q=p-down; o=p; /*把符合條件的橫向鏈表結(jié)點(diǎn)的數(shù)據(jù)給o*/while(q-next!=head1) if(q-name=h)if (q-mark=1)printf(“你的票已過(guò)期”);elseq-mark=1; /*修改mark標(biāo)記*/s=q; /*把符合條件的縱向鏈表的數(shù)據(jù)給s*/q=q-next; /*縱向鏈表移針*/p=p-next; /*橫向鏈表移針*/ printf(“你的票已經(jīng)被預(yù)定!”);printf(%d,%d,%d,o-num,o-num2, o
9、-time); /*輸出橫向鏈表的數(shù)據(jù)*/ printf(%s,%d,%d,%d,%d,&s-name,&s-time,&s-money,&s-seat,&s-mark); /*輸出縱向鏈表的數(shù)據(jù)*/3.4功能說(shuō)明:本函數(shù)主要是先遍歷橫向鏈表找到符合條件的結(jié)點(diǎn)后,轉(zhuǎn)向該點(diǎn)的縱向鏈表,遍歷縱向鏈表找到符合條件的結(jié)點(diǎn),讀出需要的數(shù)據(jù).并且修改mark標(biāo)記,使其成為已定車票.如果mark已經(jīng)為1則輸出錯(cuò)誤信息.3.5調(diào)試界面 1.主菜單界面,如圖6.4.1所示。 圖6.4.12.訂票函數(shù)界面:輸入訂票信息,如圖6.4.2所示。圖6.4.2結(jié) 論在為期三周的c語(yǔ)言程序設(shè)計(jì)中,我們小組相互合作,完成了車
10、票管理系統(tǒng)的設(shè)計(jì)任務(wù)。在這次程序設(shè)計(jì)中,我們了解了一些程序設(shè)計(jì)的基本步驟。在程序設(shè)計(jì)中,應(yīng)該先分析問(wèn)題,對(duì)所要編寫(xiě)的系統(tǒng)有一定的了解,掌握編寫(xiě)的目的,能說(shuō)出程序運(yùn)行的結(jié)果及要求。接著,針對(duì)自己的問(wèn)題分析,做出相應(yīng)的算法,畫(huà)出合理的流程圖。然后,根據(jù)每個(gè)模塊的流程圖,寫(xiě)出相應(yīng)的函數(shù)模塊。最后,把各個(gè)模塊組合起來(lái),寫(xiě)出程序的源代碼,再進(jìn)行程序的調(diào)試,完成全部工作。程序設(shè)計(jì)中,主要用到了鏈表結(jié)構(gòu)。在構(gòu)思中,認(rèn)為鏈表非常的簡(jiǎn)單,但在實(shí)際編寫(xiě)中,才發(fā)現(xiàn)鏈表的交叉造成數(shù)據(jù)的混亂,對(duì)編程造成很大的影響。經(jīng)過(guò)四個(gè)人的努力,才把程序編寫(xiě)出來(lái)。在分析問(wèn)題中,以為用幾天的時(shí)間就可以把程序作出來(lái),但在這三星期的課程設(shè)計(jì)中,我才發(fā)現(xiàn),只一個(gè)簡(jiǎn)單的輸入函數(shù)中我們就遇到了得多難以實(shí)現(xiàn)的問(wèn)題,例如,如何進(jìn)行車票信息的錄入,車票應(yīng)該如何進(jìn)行排列等。我們所做的程序進(jìn)行車票的錄入、查詢、退票、訂票、統(tǒng)計(jì)等,進(jìn)入程序后,看到歡迎界面,選擇所需操作,進(jìn)入相應(yīng)子菜單,再進(jìn)行下面的操作。通過(guò)這三周的課程設(shè)計(jì),在精心老師的指導(dǎo)下,和我們的不段努力。我們學(xué)到了如何來(lái)調(diào)式程序中
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年糧食加工設(shè)備合作協(xié)議書(shū)
- 2025年防殺病毒軟件合作協(xié)議書(shū)
- 外研版新教材七年級(jí)上冊(cè)英語(yǔ)重點(diǎn)單詞短語(yǔ)默寫(xiě)紙
- 2025年胃腸解痙藥合作協(xié)議書(shū)
- 2025年事業(yè)單位臨時(shí)工勞動(dòng)合同樣本(三篇)
- 2025年中國(guó)房屋租賃合同(2篇)
- 2025年產(chǎn)品外協(xié)加工合同范文(2篇)
- 2025年互聯(lián)網(wǎng)辦稅軟件服務(wù)協(xié)議范文(2篇)
- 2025年交通事故死亡賠償協(xié)議范文(2篇)
- 山西省2024七年級(jí)道德與法治上冊(cè)第四單元追求美好人生第十三課實(shí)現(xiàn)人生價(jià)值情境基礎(chǔ)小練新人教版
- 變壓器更換施工方案
- 【高分復(fù)習(xí)筆記】陳澄《新編地理教學(xué)論》筆記和課后習(xí)題詳解
- 安徽新宸新材料有限公司年產(chǎn)6000噸鋰離子電池材料雙氟磺酰亞胺鋰項(xiàng)目環(huán)境影響報(bào)告書(shū)
- 日本酒類消費(fèi)行業(yè)市場(chǎng)分析報(bào)告
- GB/T 29594-2013可再分散性乳膠粉
- 西子奧的斯電梯ACD2調(diào)試說(shuō)明書(shū)
- 成長(zhǎng)感恩責(zé)任高中主題班會(huì)-課件
- 化工裝置實(shí)用操作技術(shù)指南
- 建設(shè)項(xiàng)目全過(guò)程工程咨詢服務(wù)指引(咨詢企業(yè)版)(征求意見(jiàn)稿)
- 分手的協(xié)議書(shū)模板(5篇)
- 2020年度安徽省中考數(shù)學(xué)科目試卷
評(píng)論
0/150
提交評(píng)論