




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、隼兌央通大季課程設計(論文)任務書軟件學院學院軟件+電氣專業2010-2班一、課程設計(論文)題目火車售票系統二、課程設計(論文)工作自2011年12月26日起至2011年12月30日止三、課程設計(論文)地點:創新大樓機房四、課程設計(論文)內容要求:1 .本課程設計的目的訓練學生靈活應用所學數據結構知識,獨立完成問題分析,結合數據結構理論知識,編寫程序求解指定問題;初步掌握軟件開發過程的問題分析、系統設計、程序編碼、測試等基本方法和技能;提高綜合運用所學的理論知識和方法獨立分析和解決問題的能力,鞏固、深化學生的理論知識,提升編程水平。2 .課程設計的任務及要求1)基本要求:要求從分析題目的
2、需求入手,按設計抽象數據類型、構思算法、通過設計實現抽象數據類型、編寫上機程序和上機調試等若干步驟完成題目,最終寫出完整的報告;在程序設計階段應盡量利用已有的標準函數,加大代碼的重用率;程序設計語言推薦使用C/C+,程序書寫規范,源程序需加必要的注釋;每位同學需提交可獨立運行的程序和規范的課程設計報告。2)課程設計論文編寫要求理論設計部分以課程設計論文的形式提交,格式必須按照課程設計論文標準格式進行書寫和裝訂;課程設計報告(論文)包括中文目錄、設計任務、需求分析、概要設計、詳細設計、編碼實現、調試分析、課設總結、謝辭、參考文獻、附錄等;設計部分應包含系統功能模塊圖,調試分析應包括運行截圖等。3
3、)課程設計評分標準:系統設計:20分;編程調試:20分;回答問題:20分;論文撰寫:30分。4)參考文獻:嚴蔚敏,吳偉民.數據Z勾(C語言版)M.清華大學出版社.2010.3嚴蔚敏,吳偉民.數據結本題集(C語言版)M.清華大學出版社.1999.2何欽銘,馮燕等.數據結構課程設計M.浙江大學出版社.2007.85)課程設計進度安排準備階段(4學時):選擇設計題目、了解設計目的要求、查閱相關資料;程序模塊設計分析階段(4學時):程序概要設計、詳細設計;代碼編寫調試階段(8學時):程序模塊代碼編寫、調試、測試;撰寫論文階段(4學時):總結課程設計任務和設計內容,撰寫課程設計論學生簽名:2011年12
4、月26日6)課程設計題目具體要求:在售票、退票、查詢剩余票等環節中,都必須顯示出車票的信息,即車次、座位情況。為簡單起見,在此假設所有出售的車票均為同一車次的車票。退票時,必須是車站售出的車票才能退,否則視為無效票,不能退票。課程設計(論文)評審意見1)學習態度(10分):優()、良())、()、差();(2)系統設計(20分):優()、良()、中()、()、差();(3)編程調試(20優()、良()、中()、()、差();(4)回答問題(20分):優()、良()、中()、()、差();(5)論文撰寫(30優()、良()、中()、()、差();(6:是()()評閱人:王英華職稱:講師2012年
5、1月4日-2 -目錄正文一、需求分析二、個人工作三、概要設計四、源程序五、程序結果課程設計體會-1 -一、需求分析火車售票系統,該系統要求實現功能實現訂票子系統、售票子系統、退票子系統,查詢子系統,金額查詢系統,其中每個子系統對應一個函數,首先我們要把要實現的功能在主菜單上一一顯示,這樣我們進人該系統的時候就可以根據時間查詢:該子系統通過showlocaltimes()這個函數生成系統當前的時間,這樣顧客在買票是可以通過該系統進行時間的查詢,可以給顧客帶來很大的方便車輛的添加:該子系統通過addticket()這個函數用來儲存要進入該站的車輛,用戶可以通過提示選擇2服務進入該系統,當有車輛進入
6、該站是可以添加車輛的車次,出站時間等信息,售票系統:該系統負責對顧客進行售票,按照顧客的訴求,車次時間的進行查詢,選擇顧客所需的票,如果該票售完,會給出相應的提示,該系統還可以一次售多張票,并準確的計算所售票的總額;當天金額查詢:該系統查詢當天所售的票的總金額除上面介紹的功能之外,程序還具有顯示當地時間,可以在程序的一次運行當中循環執行所有的功能,并根據需要終止程序的執行。每一個車次都包含車次、日期,始發、終點以及所受票數和所需費用,在程序當中,將車次類型定義為結構體類型。最后退出系統;二、個人工作通過做火車售票系統,在做這個過程中我遇到了一些很嚴重的問題,首先在進行需求分析是,我還不知道怎么
7、下手,是用到哪些知識點呢要實現哪些功能,后來找了寫資料,了解了又關的知識,要實現的功能,于是我就開始著手,在做車連添加時,我不知道怎么把已有的信息進行儲存,在查詢是怎么把所有得車輛的信息顯示,后來在網上找到了要用到的File這個類,通過這個類,我們可以對火車的詳細信息進行儲存,另外,當我們查詢是我們可以通過讀取該文件就、來獲取已經存儲的車輛信息,這樣車輛的儲存信息功能就實現了,查詢是也可以實現查詢所有的車連信息,在進行買票時,我還不知道怎么去查詢我們存儲的車輛的信息,如,車的車次號等后來,通過讀取文件,在循環就可以查到了,在對比一下,就可以顯示,查到后就可以顯示詳細的信息,在做總金額的時候,自
8、需把查詢到的售的金額相加后顯示,就實現了三、概要設計按照程序流程圖的繪圖規范繪制主程序以及子程序的流程圖,并配上相應的說明。四、源程序各個算法實現的源程序,要求模塊代碼與關鍵代碼要有注釋。(源程序要按照寫程序的規則來編寫。要結構清晰,重點函數的重點變量,重點功能部分要加上清晰的程序注釋。)#include<stdio.h>#include<stdlib.h>#include"time.h"#include"conio.h"#defineNum100structtrainsintnum;intdate;chartrain20;cha
9、rt20;intmaipiao;floattickeprice;voidcarte();intreads(structtraintraNum);voidchange(structtraintraNum,intn);voidaddticket();voidsellticket();voidshowmessage();voidshowlocaltimes();voidallmoney();voidmain()intn;while(1)carte();printf("n請輸入您要選擇的操作序號,按回車鍵確認:");scanf("%d",&n);swit
10、ch(n)case 1: showlocaltimes();break;case 2: addticket();break;case 3: showmessage();break;case 4: sellticket();break;case 5: allmoney();break;case 6: tuipiao();voidcarte()*南昌火車訂票系統printf("* "printf("n時間 ");printf("n錄入 ");printf("n車次信息 ");printf("n系統 "
11、;);printf("n售金額 ");printf("n系統 ");printf(" n1 顯示當前2車次信息3查詢所有4進入售票5 統計某日銷6退出售票*");voidaddticket()/該方法用于存儲車列的信息,并放入一個文件FILE*fp;intn,i;structtraintra;if(fp=fopen("e:train.txt","a")=null)/通過讀取文件可以獲得已經存儲的信息if(fp=fopen("e:train.txt","w"
12、)=null)/當沒有是,從新創建一個文件printf("沒有改文件!n");return;printf("請輸入要車次的數量,按回車鍵確認:");scanf("%d",&n);for(i=1;i<=n;i+)printf("n請輸入第%d輛車的車次,日期,始發,終點,用空格分開,并按回車鍵確認:n",i);scanf("%d%d%s%s",&tra.num,&tra.date,tra.train,tra.t);printf("n請輸入第%d輛車賣票的數量
13、,車次所需的費用,用空格分開,并按回車鍵確認:n",i);scanf("%d%f",&tra.maipiao,&tra.tickeprice);fprintf(fp,"%d%d%s%s%d%fn",tra.num,tra.date,tra.train,tra.t,tra.maipiao,tra.tickeprice);fclose(fp);voidshowmessage()/顯示所有的車次信息structtraintraNum;inti,n;n=reads(tra);printf("*nn");printf(
14、" 序號車次點 賣出 票價所有的車次信息如下日期始發終n");printf("*n");I*for(i=0;i<5;i+)printf("n%3d%12d%11d%11s%11s%11d%11.2fn",i+1,trai.num,trai.date,trai.train,trai.t,trai.maipiao,trai.tickeprice);getch();voidsellticket()/該方法為出售火車票structtraintraNum;intnum,n,j;inti;n=reads(tra);printf("
15、n請輸入待查詢的車次號,按回車鍵確認:n");scanf("%d",&num);for(i=0;i<n;i+)if(num=trai.num)break;if(i>=n)printf("沒有找到該車次信息!n");return;elseprintf("n請輸入所買票數,按回車鍵確認:n");scanf("%d",&j);trai.maipiao=trai.maipiao+j;printf("n購買成功n");printf("n%12d%11d%11
16、s%11s%11d%11.2fn",trai.num,trai.date,trai.train,trai.t,trai.maipiao,trai.tickeprice);change(tra,n);intreads(structtraintraNum)/獲取該車次的詳細信息FILE*fp;inti=0;if(fp=fopen("e:train.txt","r")=null)printf("文件打開失敗!n");return0;elsefor(i=0;!feof(fp);i+)fscanf(fp,"%d%d%s%s%
17、d%fn",&trai.num,&trai.date,trai.train,trai.t,&trai.maipiao,&trai.tickeprice);fclose(fp);returni;voidchange(structtraintraNum,intn)/如果車次信息改變,該方法及時更改FILE*fp;inti=0;if(fp=fopen("e:train.txt","w")=null)printf("文件打開失敗!n");return;elsefor(i=0;i<n;i+)fpr
18、intf(fp,"%d%d%s%s%d%fn",trai.num,trai.date,trai.train,trai.t,trai.maipiao,trai.tickeprice);fclose(fp);voidallmoney()/計算當然總銷售額structtraintraNum,temp;floatsum=0;FILE*fp;inti,j=0;if(fp=fopen("e:train.txt","r")=null)printf("沒有該文件!n");return;elsefor(i=0;i<Num;i+
19、)fscanf(fp,"%d%d%s%s%d%fn",&trai.num,&trai.date,trai.train,trai.t,&trai.maipiao,&trai.tickeprice);printf("請輸入你要查詢的日期:n");scanf("%d",&temp.date);for(i=0;i<N;i+)if(temp.date=trai.date)sum=sum+trai.maipiao*trai.tickeprice;j=1;if(j=0)printf("沒有該信
20、息,請從新輸入");elseprintf("今天的總銷售額為:%fn",sum);fclose(fp);voidshowlocaltimes()/該方法用于提取系統當前時間structtm*p;time_tt;t=time(null);p=localtime(&t);printf(asctime(p);voidtuipiao()/完成退票功能structtraintraN,temp;floatsum=0;FILE*fp;inti,j=0;if(fp=fopen("h:trainmessage.txt","r")=NU
21、LL)printf("讀取錯誤,不能打開該文件!n");return;elsefor(i=0;i<N;i+)fscanf(fp,"%d%d%s%s%d%fn",&trai.num,&trai.date,trai.from,trai.ter,&trai.maipiao,&trai.tickeprice);printf("請輸入你要查詢的日期:n");scanf("%d",&temp.date);for(i=0;i<N;i+)if(temp.date=trai.dat
22、e)sum=sum+trai.maipiao*trai.tickeprice;j=1;if(j=0)printf("無此日期銷售信息,請重新輸入");elseprintf("退票成功!");printf("所需費用為:%fn");fclose(fp);五、程序結果程序的使用說明,運行結果截圖及相關說明,并測試數據,測試輸出的結果,時間復雜度分析,和每個模塊設計和調試時存在問題的思考(問題是哪些?問題如何解決?),算法的改進設想。- 9 -課程設計體會在課程設計過程中的個人感想,字數不多于200。(包括:課程設計過程的收獲、遇到問題、遇
23、到問題解決問題過程的思考、程序調試能力的思考、對數據結構這門課程的思考、在課程設計過程中對數據結構課程的認識等內容)主菜單:E前息啻b日曲不 ”一及詢人計出 饕番詵統退按叵生健確認:1語輸入您要選擇的操作序弓at Dec 17 m:«n=E4 2nil車次信息的儲存:- 忘斯 借±- 間入蹺 時錄糜制系 前日由示 當信訪4皆 一董詢人U出 SHHD進統退請輸入.惚笠選擇的厚作序號,按叵左鏈辨認,請輸入第14車的車次,日期,始發,終點,月空格分開,并接回車健詢認;1221212121-10 -2鹿1一一,詢人計出的 顯主菅尋線退確- 息頷 信金同人次穌隹最 時矍 前息蠢_E曰
24、要名請輸入第1輛車的車次,日期,始發,終點:123432342題濾輛車耨的數曼車次所需的費用請輸入第2輛車的車次,日期,始置,終點12700.00請希1W3W第1個賣出的低量,車次所需的將用,用不酩并開.可掖回耳疑確泅:32d34-*«:*«;UMM>(*MM«;南昌火年j丁票阜玨網*(-MyUMMSJtMMXq1顯示當前旬回.退出售K M M M M HEM JC M M M XM K HX * M*F H Z 黃就反尸 X M:M MA K MW X MM W l«V K M M X » 苴 MXWM::藪費I翰*息h場合曼I幫省金查
25、詢所有車次信息-ii -按要買的車次購買車票嗇輸入營要巡攔的涕作嚴弓.接回生犍的人,4福轅入芹杏詞的年次異,接回車神或兇1市帽人所買年效,接回車鋌確公-15 -1ttT:師總fr鼻襄W當信審生存生至一亮詢人廿出空IU4JSS綿陽信金息甑m1p1顯示當前G退出在里請輸入您要選擇的操作序號,技回車箱確次二筑息額養信金宗間人次1J時苴川JOCKMXNX堇:MMM,及回年罅瀛認;,/,南昌火車訂票系統+WHHI1顯示當前野間2豐次信息塞人;illt:請輸入您要選擇的操作序號,技回車鍵確認:k"自心”按所賣的車票計算當天的中銷售額道瓊入您更手間更作序號.按回斗淀薪入5謂輸人你要題的日期:22落天的總銅為獷桐2羽.9國00、*-iff-Iff片事菁與墓¥*鵬音看¥/甫昌火車訂京系統*M*HHt*AHHRWfr*1顯不當前由間2半次伯息錄入區繚計發屯AujI汶信息還色全雹i匿XMMXttfOritMmMKMMHkri&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位委托代理人證明3篇
- 分公司與子公司的團隊建設3篇
- 農村無害化廁所改造協議3篇
- 借款合同爭議起訴狀范本3篇
- 入職承諾保證書樣式設計2篇
- 回遷安置房買賣協議2篇
- 增強部門團隊凝聚力3篇
- 工程建筑勞務合作協議
- 工程項目施工合同進度控制3篇
- 管道工程行業自律與規范完善路徑探索與實施考核試卷
- 帶狀皰疹病人的個案護理
- 《中藥鑒定技術》課件-五味子的鑒定
- 大數據 AI大模型-智慧統計大數據平臺解決方案(2023版)
- 江蘇省安全員《B證》考試題庫及答案
- 自殺及其預防課件
- 灰姑娘童話故事
- 鉛鋅礦的冶煉技術進展與設備改進
- 等離子切割機操作手冊與安全操作規程
- 印刷合同:紙袋印刷合作
- 快學Scala(中文版第2版)
- 人工智能知識競賽題庫(含答案)
評論
0/150
提交評論