




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
_ 二、設(shè)計內(nèi)容 設(shè)計一個火車票務管理系統(tǒng),用C語言實現(xiàn)。對該系統(tǒng)的要求如下:需求描述:1.系統(tǒng)功能(1)火車時刻信息錄入。包括車次、日期、起點、終點、開車時間、到達時間、票價。數(shù)據(jù)存入數(shù)據(jù)文件hchsk.dat或hchsk.txt中。(2)火車時刻信息查詢。按照車次查詢按終點查詢按起點查詢按終點和日期查詢 (3)統(tǒng)計 按終點統(tǒng)計每日的車次數(shù) 按起點統(tǒng)計每日的車次數(shù)2. 系統(tǒng)主界面應有以下功能選項錄入火車時刻信息查詢火車時刻信息統(tǒng)計火車車次退出三、詳細設(shè)計說明#include#include #includeint MENU(); /菜單模塊void INPUT(); /輸入模塊void SEARCH(); /查詢模塊void SELECT(); /統(tǒng)計模塊void WRITE(); /文件記錄模塊void PRINT(); /打印模塊void READ(); /文件讀取模塊void WRONG(); /糾錯模塊#define N 1000 /最大列車組數(shù)#define Print %s%13s%10s%10s%12s%15s%11sn,Ti.code,Ti.data,Ti.lp,Ti.ap,Ti.lt,Ti.at,Ti.price /輸出記錄格式#define Wrong n ! ! ! ! ! ! ! ! ! ! ! 輸入錯誤,請重新輸入 ! ! ! ! ! ! ! ! ! ! ! n #define GeShi 車次 日期 起點 終點 開車時間 到達時間 票價n struct Trainchar code10; /車次char data10; /日期char lp10; /left place 起點char ap10; /arrive place 終點char lt10; /left time 開車時間char at10; /arrive time 到達時間char price10; / 票價TN;/* 全局變量 */int i=0; /輸入計數(shù)器int n=0; /合計計數(shù)器char l20; /糾錯空間/主函數(shù)int main() int x;dox=MENU();switch(x)case 1:INPUT(); break;case 2:SEARCH(); break;case 3:SELECT(); break;case 4:printf(n -);printf(n 正在退出,請按任意鍵退出);printf(nn );printf(n -n );break;default:WRONG(); break;while(x!=4);return 0;/菜單模塊int MENU()int choice;system(cls); printf(n -n);printf( -n);printf( - -n);printf( - 歡迎進入火車票務管理系統(tǒng) -n);printf( - -n);printf( -n);printf( -nn);printf( n - 請輸入選項 -n);printf( 1.錄入火車時刻信息n);printf( 2.查詢火車時刻信息n);printf( 3.統(tǒng)計火車車次n);printf( 4.退出n);printf( -n);printf( 請選擇: );scanf(%d,&choice);gets(l);return choice;/輸入模塊void INPUT()char ch;dosystem(cls); printf(nn =歡迎進入 錄入火車時刻信息 界面=n);doprintf(n 新建列車信息?(y/n) );scanf(%c,&ch);gets(l);if(ch!=y&ch!=n)WRONG ();while(ch!=y&ch!=n);if(ch=n)break;printf( -);printf(n 錄入第%d趟列車信息n,n+1);printf( 車次 );gets(Ti.code);printf( 日期 );gets(Ti.data);printf( 起點 );gets(Ti.lp);printf( 終點 );gets(Ti.ap);printf( 開車時間 );gets(Ti.lt);printf( 到達時間 );gets(Ti.at);printf( 票價 );gets(Ti.price);n+;i+;while(iN);WRITE();system(cls); printf(n);printf( -n);printf( 系統(tǒng)記載的列車信息如下n);printf( -nn);PRINT();/文件記錄模塊void WRITE() FILE *fp,*fp1;if(fp=fopen(hchsk.txt,w)=NULL)printf(無法創(chuàng)建文件!nn);getchar();return;if(fp1=fopen(N.txt,w)=NULL)/用于記錄共幾趟車printf(無法創(chuàng)建文件!n);getchar();return; for(i=0;in;i+)if(fwrite(&Ti,sizeof(struct Train),1,fp)=0)printf(寫入數(shù)據(jù)失敗!nn);fprintf(fp1,%d,n);fclose(fp);fclose(fp1); /文件讀取模塊void READ()FILE *fp,*fp1;if(fp=fopen(hchsk.txt,r)=NULL)printf(無法打開文件n);getchar();return;if(fp1=fopen(N.txt,r)=NULL)printf(無法打開文件!nn);getchar();return;fscanf(fp1,%d,&n);fclose(fp1);for(i=0;in;i+) fread(&Ti,sizeof(struct Train),1,fp); fclose(fp);/打印模塊void PRINT()char ch10;READ();printf(n =n);printf(GeShi);for(i=0;in;i+) printf(Print);printf( =n);printf(n 按任意鍵返回上級菜單: );gets(ch);/查詢模塊void SEARCH()char name110;/車次char name210;/終點char name310;/起點char name4110;/終點char name4210;/日期char choice;int j;int k;dosystem(cls); printf(nn =歡迎進入 查詢火車時刻信息 界面=n);printf(n +請選擇查找方式+nn);printf( -1.顯示所有列車信息 2.按車次查詢 3.按終點查詢-n);printf( -4.按起點查詢 5.按終點和日期查詢 6.返回上級菜單-n);printf(n 請選擇: );scanf(%d,&j);gets(l);switch(j)case 1:PRINT();break;case 2:printf(n - 請輸入車次 -: );gets(name1);break;case 3:printf(n - 請輸入終點 -: );gets(name2);break;case 4:printf(n - 請輸入起點 -: );gets(name3);break;case 5:printf(n - 請輸入終點 -: );gets(name41);printf(n - 請輸入日期 -: );gets(name42);break;case 6: break;default:WRONG ();break;READ();k=0;if(j=2)for(i=0;in;i+) if(strcmp(Ti.code,name1)=0)printf(n 按 車次 查找列車信息成功!n);printf(n =n);printf(GeShi);break;for(i=0;i 共查詢到 %d 趟列車信息,請按任意鍵返回 - ,k);gets(l);if(j=3)for(i=0;in;i+) if(strcmp(Ti.ap,name2)=0)printf(n 按 終點 查找列車信息成功!n);printf(n =n);printf(GeShi);break;for(i=0;i 共查詢到 %d 趟列車信息,請按任意鍵返回 - ,k);gets(l);if(j=4)for(i=0;in;i+) if(strcmp(Ti.lp,name3)=0)printf(n 按 起點 查找列車信息成功!n);printf(n =n);printf(GeShi);break;for(i=0;i 共查詢到 %d 趟列車信息,請按任意鍵返回 - ,k);gets(l);if(j=5)for(i=0;in;i+) if(strcmp(Ti.ap,name41)=0&strcmp(Ti.data,name42)=0)printf(n 按 終點和日期 查找列車信息成功!n);printf(n =n);printf(GeShi);break;for(i=0;i 共查詢到 %d 趟列車信息,請按任意鍵返回 繼續(xù)查找(1),返回主菜單(2)- );choice=getchar();gets(l);if(choice!=1&choice!=2)WRONG ();while(choice!=1&choice!=2);while(choice!=2);/統(tǒng)計模塊void SELECT()char name110;/終點char name210;/起點int t,k;char choice;dosystem(cls);printf(nn =歡迎進入 統(tǒng)計火車車次 界面=n);printf(n -|- -|- -|- -|- 請選擇統(tǒng)計方式 -|- -|- -|- -|- nn);printf( 1.按終點統(tǒng)計每日的車次數(shù)n);printf( 2.按起點統(tǒng)計每日的車次數(shù)n);printf(n 請選擇: );scanf(%d,&t);gets(l);switch(t)case 1:printf( 請輸入終點: );gets(name1);break;case 2:printf( 請輸入起點: );gets(name2);break;default:WRONG();break;READ();if(t=1)k=0;for(i=0;in;i+) if(strcmp(Ti.lp,name1)=0)printf(n 按 終點 統(tǒng)計列車信息成功!n);break;for(i=0;i 共查詢到 %d 趟列車信息,請按任意鍵返回 - ,k);gets(l);i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年吉林省吉林市“三?!蔽锢砀咭幌缕谀┍O(jiān)測模擬試題含解析
- 北京市節(jié)能廠商管理辦法
- 丹鳳縣農(nóng)村供水管理辦法
- 烏魯木齊小金鋪管理辦法
- 2025年福建省漳州市五中、龍海市五中等四校物理高一下期末檢測模擬試題含解析
- 云南大學專家?guī)旃芾磙k法
- 證券評級業(yè)務管理辦法
- 銀行快速窗口管理辦法
- 2025年上海市嘉定區(qū)高二物理第二學期期末質(zhì)量跟蹤監(jiān)視試題含解析
- 工地施工管理部管理辦法
- 中國VTS船舶交通管理系統(tǒng)行業(yè)發(fā)展全景監(jiān)測及投資方向研究報告
- 企業(yè)安全生產(chǎn)隱患排查獎勵制度
- 2025年中國中信集團招聘筆試沖刺題2025
- 2025年北京市中考數(shù)學真題試卷及答案解析
- 酒店前臺服務禮儀與服務意識培訓
- 2025至2030免稅行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 農(nóng)民參與鄉(xiāng)村建設(shè)的模式和政策研究
- 北京市海淀區(qū)2024-2025+學年七年級下學期期末模擬英語試卷(含答案)
- 溫州市2024-2025學年高一下學期期末英語測試卷
- AI+Agent與Agentic+AI的原理和應用洞察與未來展望
- 家具工藝培訓課件
評論
0/150
提交評論