




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、信息科學與技術學院程序設計基礎課程設計報告題目名稱:車票管理系統專業班級:電子信息工程10級2班學生姓名:王彪樊江濤學生學號:20105081152010508131指導教師:高 攀完成日期:2011-01目 錄1 課程設計綜述 31.1 課程設計的目的 31.2 課程設計的題目 31.3 題目要求 32 概要設計 33 詳細設計 43.1 流程圖 43.2 源程序44 測試 55 課程設計總結51.課程設計綜述1.1 課程設計的目的讓我們更加深入的了解C+的,使我們一學期學習到的東西得到實踐.1.2 課程設計的題目火車票管理系統1.3 題目要求用c+設計一個系統,能提供下列服務:(1)錄入班
2、次信息(信息用文件保存),可不定時地增加班次數據(2)瀏覽班次信息,可顯示出所有班次當前狀態(如果當前系統時間超過了某班次的發車時間,則顯示“此班已發出”的提示信息)。(3)查詢路線:可按班次號查詢 ,可按終點站查詢(4)售票和退票功能A:當查詢出已定票人數小于額定載量且當前系統時間小于發車時間時才能售票,自動更新已售票人數B:退票時,輸入退票的班次,當本班車未發出時才能退票,自動更新已售票人數2 方案選擇1)算法設計說明由主函數進入,彈出主菜單界面,通過Switch語句選擇需要的功能,可以選擇班次錄入,瀏覽班次信息,查詢班次信息,購票和退票以及退出系統,以完成不同的操作.其中查詢班次信息中還
3、可以由班次查詢或者終點站查詢.整個系統的文件載入用一個文件載入函數承當.3 詳細設計3.1 流程圖開始Main函數,進入Switch語句班次錄入子函數瀏覽班次子函數查詢子函數購買車票子函數退訂車票子函數按照班次查詢按照終點站查詢返回到主菜單退出程序子函數結束3.2 源程序#include <iostream>#include <fstream>#include <string>#include<time.h>using namespace std;void welcome(); /歡迎子函數void choose(); /選擇子函數void ba
4、nciluru(); /班次錄入子函數void liulanbancixinxi(); /瀏覽班次信息子函數void shoupiao(); /售票子函數void tuipiao(); /退票子函數void quit(); /退出子函數void chaxun(); /查詢子函數int loading(); /文件載入子函數const int MAX=20; /使數組最大值可調const int N=50;struct time /時間結構體,為了與系統時間做比較.int hour;int minutes;struct ticket /車票結構體,包含車次,時間結構體,起點,終點,行車時間,額定
5、載客量,已訂票人數int Number;struct time Setout;char QidianMAX;char ZhongdianMAX;float Lasttime; int Fixnumber;int Fixednumber;carN;/主函數int main()welcome();return 0;/歡迎子函數void welcome() cout<<"_"<<endl; cout<<"| 歡 * 迎 * 使 * 用 * 火 * 車 * 票 * 管 * 理 * 系 * 統 |"<<endl; c
6、out<<"| |"<<endl; cout<<"| 本管理系統有以下功能: |"<<endl; cout<<"| |"<<endl; cout<<"| 1 班次錄入 |"<<endl; cout<<"| 2 瀏覽班次信息 |"<<endl; cout<<"| 3 查詢火車信息 |"<<endl; cout<<"
7、| 4 購買火車票 |"<<endl; cout<<"| 5 退訂火車票 |"<<endl; cout<<"| 6 退出系統 |"<<endl; cout<<"|_|"<<endl; cout<<"請輸入所要執行功能前的數字: "<<endl; choose();/選擇子函數void choose()string i; cin>>i; if(i="1") bancil
8、uru(); if(i="2") liulanbancixinxi(); if(i="3") chaxun(); if(i="4") shoupiao(); if(i="5") tuipiao(); if(i="6") quit(); elsecout<<"輸入有誤!請在數字1-5之間重新您的輸入選擇!"<<endl;choose();/班次錄入子函數void banciluru()string t="1" ofstream out
9、file; outfile.open("班次信息.txt",ios:app); for(int i=0;t="1"i+) cout<<"請輸入需要添加的火車班次:"<<endl; cin>>cari.Number; cout<<"請輸入此班次發車時間(格式:先輸入小時,回車,再輸入分鐘):"<<endl; cin>>cari.Setout.hour; cin>>cari.Setout.minutes; cout<<&qu
10、ot;請輸入出發站:"<<endl; cin>>cari.Qidian; cout<<"請輸入終點站:"<<endl; cin>>cari.Zhongdian; cout<<"請輸入行車時間:"<<endl; cin>>cari.Lasttime; cout<<"請輸入額定載客量:"<<endl; cin>>cari.Fixnumber; cout<<"請輸入已訂票人數:&
11、quot;<<endl;cin>>cari.Fixednumber;outfile<<cari.Number<<" "<<cari.Setout.hour<<" "<<cari.Setout.minutes<<" "<<cari.Qidian<<" "<<cari.Zhongdian<<" "<<cari.Lasttime<<&q
12、uot; "<<cari.Fixnumber<<" "<<cari.Fixednumber<<endl;cout<<"是否繼續錄入?(是請輸1,否請輸任意鍵返回主菜單)"<<endl;cin>>t;if(t!="1")welcome();outfile.close();cout<<"輸入回車鍵返回"<<endl;getchar();getchar();welcome();/瀏覽班次子函數void l
13、iulanbancixinxi()int c;c=loading();cout<<"班次"<<" "<<"發車時間"<<" "<<"起點站"<<" "<<"終點站"<<" "<<"行車時間"<<" "<<"額定載客量"<<"
14、"<<"已訂票人數"<<endl;for(int i=0;i<c;i+) cout<<cari.Number<<" "<<cari.Setout.hour<<":"<<cari.Setout.minutes<<" "<<cari.Qidian<<" "<<cari.Zhongdian<<" "<<cari.
15、Lasttime<<" "<<cari.Fixnumber<<" "<<cari.Fixednumber<<endl;time_t tval; struct tm *now; tval = time(NULL); now = localtime(&tval); if(now->tm_hour=cari.Setout.hour&&now->tm_min>cari.Setout.minutes)|(now->tm_hour>cari.Setout
16、.hour)cout<<"此車已發出"<<endl; cout<<"輸入回車鍵返回"<<endl;getchar();getchar();welcome();/車次查詢子函數void Numbersearch();void Finalsearch();void chaxun()string t;cout<<"1.按班次查詢"<<endl;cout<<"2.按終點站查詢"<<endl;cout<<"請
17、輸入您想選擇的查詢方法前的數字:"<<endl;cin>>t;if(t="1")Numbersearch();if(t="2")Finalsearch();if(t!="1"|t!="2")cout<<"輸入有誤,請重新輸入"<<endl;chaxun();/班次查詢子函數void Numbersearch()loading();int SearchNumber;cout<<"請輸入您需要查找的班次號:"&
18、lt;<endl;cin>>SearchNumber;cout<<"班次"<<" "<<"發車時間"<<" "<<"起點站"<<" "<<"終點站"<<" "<<"行車時間"<<" "<<"額定載客量"<<"
19、 "<<"已訂票人數"<<endl;cout<<carSearchNumber-1.Number<<" "<<carSearchNumber-1.Setout.hour<<":"<<carSearchNumber-1.Setout.minutes<<" "<<carSearchNumber-1.Qidian<<" "<<carSearchNumber-1.
20、Zhongdian<<" "<<carSearchNumber-1.Lasttime<<" "<<carSearchNumber-1.Fixnumber<<" "<<carSearchNumber-1.Fixednumber<<endl; cout<<"輸入回車鍵返回"<<endl;getchar();getchar();welcome();/終點站查詢子函數void Finalsearch()int R;
21、R=loading(); int i; char AddressMAX;cout<<"請輸入終點站名稱:"<<endl; cin>>Address;cout<<"班次"<<" "<<"發車時間"<<" "<<"起點站"<<" "<<"終點站"<<" "<<"行車時間
22、"<<" "<<"額定載客量"<<" "<<"已訂票人數"<<endl; for(i=0;i<R;i+) if(strcmp(Address,cari.Zhongdian)=0)cout<<cari.Number<<" "<<cari.Setout.hour<<":"<<cari.Setout.minutes<<" &q
23、uot;<<cari.Qidian<<" "<<cari.Zhongdian<<" "<<cari.Lasttime<<" "<<cari.Fixnumber<<" "<<cari.Fixednumber<<endl;cout<<"輸入回車鍵返回"<<endl;getchar();getchar();welcome();/購買火車票子函數void sho
24、upiao()int R;R=loading(); int i; cout<<"請輸入要訂購的車票的班次:"<<endl; cin>>i; if(i<=0|i>R) cout<<"對不起,今天沒有這趟車,請明天再來,謝謝使用!"<<endl;cout<<"輸入回車鍵返回"<<endl;getchar();getchar();welcome();time_t tval; struct tm *now; tval = time(NULL); n
25、ow = localtime(&tval); if(now->tm_hour=cari-1.Setout.hour&&now->tm_min<cari-1.Setout.minutes)|(now->tm_hour<cari-1.Setout.hour) if(cari-1.Fixednumber<cari-1.Fixnumber) (cari-1.Fixednumber)+; ofstream outfile; outfile.open("班次信息.txt",ios:out); for(i=0;i<R;i+
26、) outfile<<cari.Number<<" "<<cari.Setout.hour<<" "<<cari.Setout.minutes<<" "<<cari.Qidian<<" "<<cari.Zhongdian<<" "<<cari.Lasttime<<" "<<cari.Fixnumber<<&qu
27、ot; "<<cari.Fixednumber<<endl; outfile.close(); cout<<"你的訂票成功,請按時上車,謝謝使用!"<<endl; else cout<<"對不起,今天的這趟車的票已賣完,請明天再來,謝謝合作"<<endl; else cout<<"對不起,今天的這趟車已發出,請明天再來,謝謝合作"<<endl;cout<<"輸入回車鍵返回"<<endl;
28、getchar();getchar();welcome();/退訂火車票子函數void tuipiao()int R;R=loading(); int i; cout<<"請輸入要退購的車票的班次:"<<endl; cin>>i; if(i<=0|i>R) cout<<"對不起,今天沒有這趟車,無法完成退票.謝謝使用!"<<endl;cout<<"輸入回車鍵返回"<<endl;getchar(); getchar();welcome();
29、time_t tval; struct tm *now; tval = time(NULL); now = localtime(&tval); if(now->tm_hour=cari-1.Setout.hour&&now->tm_min<cari-1.Setout.minutes)|(now->tm_hour<cari-1.Setout.hour) if(cari-1.Fixednumber>=1) cari-1.Fixednumber-=1; ofstream outfile; outfile.open("班次信息.tx
30、t",ios:out); for(i=0;i<R;i+) outfile<<cari.Number<<" "<<cari.Setout.hour<<" "<<cari.Setout.minutes<<" "<<cari.Qidian<<" "<<cari.Zhongdian<<" "<<cari.Lasttime<<" "<<cari.Fixnumber<<" "<<cari.Fixednumber<<endl; outfile.close(); cout<<"退訂車票成功,謝謝使用!"<<endl; else cout<<"對不起,今天的這趟車的票尚未賣出,無法完成退票!"<<endl; else cout<<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 希沃培訓課件答案
- 電氣考研數學試卷
- 2025年04月北京首都醫科大學附屬北京同仁醫院派遣制司機招聘1人(四)筆試歷年專業考點(難、易錯點)附帶答案詳解
- 試驗安全培訓課件模板
- 牡丹江市辦公室選調工作人員考試真題2024
- 高血糖引起的急性并發癥與護理
- 高三衡水數學試卷
- 高新高考數學試卷
- 廣東調研數學試卷
- 固始縣考編數學試卷
- 改變觀念提高效率課件
- 立責于心履責于行全面落實企業安全生產主體責任課件
- 建筑工程模板施工工藝技術要點講義豐富課件
- 醫療垃圾廢物處理課件
- 位置度公差以及其計算
- 氯化銨危險化學品安全周知卡
- 《煤的發熱量測定方法》ppt課件
- 三寶、四口、五臨邊安全培訓PPT課件
- 護理崗位管理與績效考核-PPT課件
- 李墨林按摩療法(李墨林)237頁
- 幕墻施工安全技術交底
評論
0/150
提交評論