精品資料(2021-2022年收藏的)班車(chē)信息管理系統(tǒng)_第1頁(yè)
精品資料(2021-2022年收藏的)班車(chē)信息管理系統(tǒng)_第2頁(yè)
精品資料(2021-2022年收藏的)班車(chē)信息管理系統(tǒng)_第3頁(yè)
精品資料(2021-2022年收藏的)班車(chē)信息管理系統(tǒng)_第4頁(yè)
精品資料(2021-2022年收藏的)班車(chē)信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、*實(shí)踐教學(xué)* 蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院2014年春季學(xué)期 C程序設(shè)計(jì) 課程設(shè)計(jì)題 目: 班車(chē)信息管理系統(tǒng) 專業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)6班姓 名: 蘇志飛 學(xué) 號(hào): 13240623 指導(dǎo)教師: 唐建新 成 績(jī):_ 0摘 要隨著信息技術(shù)在管理上越來(lái)越廣泛的的應(yīng)用,管理系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟,管理系統(tǒng)是一個(gè)不斷發(fā)展的學(xué)科,任何部門(mén),服務(wù)系統(tǒng)的展開(kāi)都離不開(kāi)信息技術(shù)管理。鑒于此我們開(kāi)發(fā)了一個(gè)采用語(yǔ)言編輯的基本班車(chē)信息管理查詢服務(wù)系統(tǒng),該系統(tǒng)具備了 1錄入班車(chē)相關(guān)信息。2查詢信息(按班車(chē)的發(fā)車(chē)時(shí)間及其車(chē)號(hào)查找)。并輸出班車(chē)當(dāng)前所在信息。3信息的輸出,顯示所有班車(chē)信息,滿足乘客的需求。4刪除班

2、車(chē)信息,使班車(chē)服務(wù)流暢化。5狀態(tài)轉(zhuǎn)換。運(yùn)用c語(yǔ)言,編寫(xiě)程序使得復(fù)雜的交通變得井然有序。就現(xiàn)在的交通設(shè)施,我們開(kāi)展了此次c語(yǔ)言課程設(shè)計(jì),從多方面提升自己的編譯能力,為以后的專業(yè)開(kāi)展奠定基礎(chǔ)。關(guān)鍵詞:信息管理,車(chē)票,班車(chē)目 錄一、前言1二、需求分析2三、總體設(shè)計(jì)3四、詳細(xì)設(shè)計(jì)41、數(shù)據(jù)定義42、算法流程圖4五、編碼6六、測(cè)試與分析7七、設(shè)計(jì)總結(jié)8參考文獻(xiàn)9致謝10附 錄11一、 前言傳統(tǒng)的班車(chē)信息管理存在著許多的弊端,比如計(jì)算方面的誤差、整個(gè)系統(tǒng)的管理和班車(chē)信息的查詢等。伴隨著信息時(shí)代的來(lái)臨,信息處理器計(jì)算機(jī)的應(yīng)用于班車(chē)信息的日常管理為班車(chē)管理的現(xiàn)代化帶來(lái)了從未有過(guò)的動(dòng)力和機(jī)遇,采用計(jì)算機(jī)管理信息

3、系統(tǒng)已成為班車(chē)信息管理科學(xué)化和現(xiàn)代化的重要標(biāo)志給班車(chē)服務(wù)行業(yè)帶來(lái)了明顯的經(jīng)濟(jì)效益和社會(huì)效益。利用班車(chē)信息系統(tǒng)管理整個(gè)運(yùn)行的過(guò)程,可以節(jié)省大量的時(shí)間和精力,有助于及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,有利于提高工作人員的工作效率。在此背景下,本文論述了班車(chē)管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。我們學(xué)習(xí)程序設(shè)計(jì)課程的目的掌握設(shè)計(jì)程序的思路,學(xué)習(xí)會(huì)用計(jì)算機(jī)語(yǔ)言編寫(xiě)程序,以實(shí)現(xiàn)所需要處理的任務(wù)。要正確處理算法與語(yǔ)法的關(guān)系,算法是程序的核心、是靈魂,語(yǔ)法是外殼、是工具。不應(yīng)把學(xué)習(xí)重點(diǎn)放在語(yǔ)法規(guī)則上,語(yǔ)法是重要的,不掌握語(yǔ)法規(guī)則就無(wú)法編寫(xiě)出正確的程序。一定要把重點(diǎn)放在解題的思路上,通過(guò)思考,和大量的閱讀,來(lái)構(gòu)造一個(gè)完整的程序。因

4、為:重要的是學(xué)會(huì)編程,而不是背語(yǔ)法。其次,主要是學(xué)習(xí)程序設(shè)計(jì)的方法,進(jìn)行程序設(shè)計(jì)的基本訓(xùn)練,學(xué)生應(yīng)該把精力放在最基本,最常用的內(nèi)容上,學(xué)好基本功,在基礎(chǔ)上加強(qiáng)自己。二、需求分析2.1選題背景:隨著計(jì)算機(jī)的普及,信息產(chǎn)業(yè)的發(fā)展,現(xiàn)在計(jì)算機(jī)已經(jīng)被各個(gè)領(lǐng)域使用。傳統(tǒng)班車(chē)信息管理存在著許多的弊端,比如計(jì)算方面的誤差、整個(gè)系統(tǒng)的管理和班車(chē)信息的查詢等。但是現(xiàn)在班車(chē)管理已經(jīng)信息化、自動(dòng)化,通過(guò)一些編程語(yǔ)言來(lái)實(shí)現(xiàn),再經(jīng)過(guò)實(shí)踐來(lái)驗(yàn)證,最后就有一個(gè)完整的班車(chē)信息管理系統(tǒng)。它包括班車(chē)信息的錄入、瀏覽和查詢。2.2編寫(xiě)目的:通過(guò)對(duì)用戶需求進(jìn)行調(diào)查分析,做出需求分析文檔作為項(xiàng)目設(shè)計(jì)的基本準(zhǔn)則要求,以及作為系統(tǒng)分析員進(jìn)

5、行系統(tǒng)分析和測(cè)試人員進(jìn)行測(cè)試時(shí)的手冊(cè)2.3需求概述:設(shè)計(jì)一個(gè)班車(chē)信息管理系統(tǒng),使之能提供以下功能:1) 錄入班車(chē)信息并保存,包括發(fā)車(chē)時(shí)間、班車(chē)車(chē)號(hào)、班車(chē)型號(hào)、車(chē)票價(jià)格2) 瀏覽全部車(chē)次信息,并按輸入順序顯示3) 查詢班車(chē)信息,可按車(chē)號(hào)和發(fā)車(chē)時(shí)間4) 班車(chē)信息的刪除5)班車(chē)狀態(tài)的轉(zhuǎn)換6)班車(chē)信息管理系統(tǒng)的初始化 2.4需求說(shuō)明:班車(chē)信息包括車(chē)號(hào)、發(fā)車(chē)時(shí)間、班車(chē)型號(hào)、車(chē)票價(jià)格錄入的班車(chē)信息要求用文件形式保存,并可以對(duì)其進(jìn)行瀏覽、查詢、等操作;班車(chē)信息的顯式要求有一定的規(guī)范格式所設(shè)計(jì)的系統(tǒng)應(yīng)以菜單方式工作,應(yīng)為用戶提供清晰的使用提示,依據(jù)用戶的選擇來(lái)進(jìn)行各種處理,并要求在此過(guò)程中能夠盡可能的兼容用戶

6、使用過(guò)程中的異常情況三、總體設(shè)計(jì)根據(jù)需求分析,本人按照結(jié)構(gòu)化程序設(shè)計(jì)的原則將整個(gè)系統(tǒng)劃分若干個(gè)功能模塊。 系統(tǒng)各子模塊的設(shè)計(jì)如圖1所示。班車(chē)信息管理系統(tǒng)班車(chē) 信息輸出班車(chē)信息錄入班車(chē) 信息查詢系統(tǒng)初始化班車(chē) 狀態(tài)轉(zhuǎn)換班車(chē) 信息刪除退出圖1 班車(chē)信息管理系統(tǒng)功能模塊圖四、詳細(xì)設(shè)計(jì)1、數(shù)據(jù)定義結(jié)構(gòu)體類(lèi)型typedef struct char number10;/*班車(chē)車(chē)號(hào)*/ char time20; /*發(fā)車(chē)時(shí)間*/ char model20; /*班車(chē)型號(hào)*/ int price; /*車(chē)票價(jià)格*/ int state; /*班車(chē)狀態(tài)*/mbus;typedef struct mbus bus

7、1000; int count; mstop; mstop stop;指針變量 FILE *fp; /*定義1文件型指針變量,指針名叫fp*/*fp指向file類(lèi)型結(jié)構(gòu)體的指針*/ fp=fopen(stop.txt,wt); /*以寫(xiě)的方式打開(kāi)stop*/ fwrite(&stop.count,sizeof(int),1,fp); fwrite(stop.bus,sizeof(stop.bus1),stop.count+1,fp); fclose(fp); /*關(guān)閉文件*/ 2、 主要算法流程圖錄入函數(shù)流程 startvoid luru() /*車(chē)輛信息錄入while(a!=0)printf

8、(錄入班車(chē)信息n) 輸入有誤 end查詢函數(shù)流程圖 start滿足指令 endprintf(tt2發(fā)車(chē)時(shí)間查詢n); printf(tt1 型號(hào)查詢n)對(duì)不起,輸入有誤顯示所有班車(chē)信息startvoid shanchu()班車(chē)信息刪除流程圖滿足要求請(qǐng)輸入要?jiǎng)h除的班車(chē)型號(hào)和發(fā)車(chē)時(shí)間 輸入有誤已經(jīng)修改的班車(chē)信息end start狀態(tài)轉(zhuǎn)換函數(shù)流程圖 void setstate()printf(請(qǐng)輸入班車(chē)車(chē)號(hào),轉(zhuǎn)換班車(chē)的狀態(tài): );是否轉(zhuǎn)換 轉(zhuǎn)換后的班車(chē)信息 原有的班車(chē)信息end 班車(chē)信息輸出五、編碼只寫(xiě)步驟和思路,源代碼見(jiàn)光盤(pán)(附錄:6號(hào)New Roman, 行距固定10磅)。void main()

9、 int i; char ch=1; FILE *fp; /*定義1文件型指針變量,指針名叫fp*/*fp指向file類(lèi)型結(jié)構(gòu)體的指針*/ if(fp=fopen(stop.txt,rt)=NULL) /*以寫(xiě)的方式打開(kāi)stop*/ stop.count=0;else fread(&stop.count,sizeof(int),1,fp); fread(stop.bus,sizeof(stop.bus1),stop.count+1,fp); fclose(fp);/*關(guān)閉文件*/ printf(nnnttt歡迎使用班車(chē)管理系統(tǒng)!nt); /*班車(chē)管理系統(tǒng)歡迎界面*/ printf(操作說(shuō)明:n

10、); printf( 1.數(shù)據(jù)輸入完成后按 Enter 鍵確認(rèn).n); printf( 2.班車(chē)信息當(dāng)中車(chē)費(fèi)價(jià)格,車(chē)號(hào)只能是整數(shù).n); printf( 3.班車(chē)信息狀態(tài)欄中,1表示未發(fā)車(chē),0表示已發(fā)車(chē).n); printf( 4.對(duì)于錄入的班車(chē)信息的狀態(tài),系統(tǒng)默認(rèn)為1n); printf( 5.請(qǐng)嚴(yán)格按照要求操作.n); printf(nnttt請(qǐng)按任意鍵繼續(xù).); getch(); while(ch!=0) printf(nnnnn); printf(ttttt 班車(chē)管理系統(tǒng)n); /*班車(chē)管理系統(tǒng)菜單選項(xiàng)*/ for(i=0;i80;i+ ) printf(*); printf(n);

11、printf(tt1-班車(chē)信息錄入n); printf(tt2-班車(chē)信息查詢n); printf(tt3-班車(chē)信息輸出n); printf(tt4-刪除班車(chē)信息n); printf(tt5-系統(tǒng)初始化n); printf(tt6-班車(chē)狀態(tài)轉(zhuǎn)換n); printf(tt0-退出n); /*班車(chē)管理系統(tǒng)各個(gè)選項(xiàng)及其后繼步驟*/ scanf(%c,&ch); switch(ch) case 1: luru(); break; case 2: search(); break; case 3: print(); break; case 4: shanchu(); break; case 5: initi

12、ate(); break; case 6: setstate(); break; default: break; printf(nnnnnnnnntttt謝謝使用!); /*班車(chē)管理系統(tǒng)關(guān)閉狀態(tài)*/ getch(); void save() FILE *fp; /*定義1文件型指針變量,指針名叫fp*/*fp指向file類(lèi)型結(jié)構(gòu)體的指針*/ fp=fopen(stop.txt,wt); /*以寫(xiě)的方式打開(kāi)stop*/ fwrite(&stop.count,sizeof(int),1,fp); fwrite(stop.bus,sizeof(stop.bus1),stop.count+1,fp);

13、 fclose(fp); /*關(guān)閉文件*/ void luru() /*車(chē)輛信息錄入*/ while(a!=0) stop.count+; printf(錄入班車(chē)信息n); printf(請(qǐng)輸入班車(chē)車(chē)號(hào): ); scanf(%s,stop.busstop.count.number); printf(請(qǐng)輸入型號(hào): ); scanf(%s,stop.busstop.count.time); printf(請(qǐng)輸入發(fā)車(chē)時(shí)間: ); scanf(%s,stop.busstop.count.model); printf(請(qǐng)輸入車(chē)費(fèi)標(biāo)價(jià): ); fflush(stdin); scanf(%d,&stop.b

14、usstop.count.price); stop.busstop.count.state=1; printf(退出請(qǐng)按 0 ,繼續(xù)請(qǐng)按 1 :); /*班車(chē)信息錄入結(jié)束*/ scanf(%d,&a); save();void search() /*車(chē)輛信息查詢*/ int a=0; printf(-班車(chē)信息查詢-n); printf(tt1- 型號(hào)查詢n); printf(tt2-發(fā)車(chē)時(shí)間查詢n); printf(請(qǐng)選擇查詢方式: ); scanf(%d,&a); switch (a) case 1: search_by_time(); break; case 2: search_by_mo

15、del(); break; default: break; void search_by_time() int n=1,i; char a20; printf(請(qǐng)輸入你要查找班車(chē)的型號(hào): ); scanf(%s,a); printf(車(chē)號(hào) t型號(hào) t發(fā)車(chē)時(shí)間 t車(chē)費(fèi) t狀態(tài)n); for(i=1;i=stop.count;i+) if(strcmp(a,stop.busi.time)=0) printf(%stt%stt%stt%dtt%dn,stop.busi.number,stop.busi.time,stop.busi.model,stop.busi.price,stop.busi.st

16、ate); /* 顯示車(chē)號(hào) 型號(hào) 發(fā)車(chē)時(shí)間 車(chē)費(fèi) 車(chē)輛狀態(tài)*/ n=0; if(n=1) /*如果沒(méi)有數(shù)據(jù)顯示對(duì)不起.*/ printf(對(duì)不起,沒(méi)有相應(yīng)信息 ); getch();void search_by_model()char a20; int n=1,i; printf(請(qǐng)輸入你要查找班車(chē)的發(fā)車(chē)時(shí)間: ); scanf(%s,a); printf(車(chē)號(hào)t 型號(hào)t 發(fā)車(chē)時(shí)間t 價(jià)格t 狀態(tài)n); for(i=1;i=stop.count;i+) if(strcmp(a,stop.busi.model)=0) printf(%stt%stt%stt%dtt%dn,stop.busi.nu

17、mber,stop.busi.time,stop.busi.model,stop.busi.price,stop.busi.state); /* 顯示車(chē)號(hào) 型號(hào) 發(fā)車(chē)時(shí)間 車(chē)費(fèi) 車(chē)輛狀態(tài)*/ n=0; if(n=1) /*如果沒(méi)有數(shù)據(jù)顯示對(duì)不起.*/ printf(對(duì)不起,沒(méi)有相應(yīng)信息 ); getch();void print() int i,n; printf(車(chē)號(hào)t 型號(hào)t 發(fā)車(chē)時(shí)間t 價(jià)格t 狀態(tài)n); printf(%stt%stt%stt%dtt%dn,stop.busi.number,stop.busi.time,stop.busi.model,stop.busi.price,s

18、top.busi.state); /* 顯示車(chē)號(hào) 型號(hào) 發(fā)車(chē)時(shí)間 車(chē)費(fèi) 車(chē)輛狀態(tài)*/ getch(); void shanchu() /* 班車(chē)信息刪除*/ int i,j,ch,n=0; char a20,b20; printf(-班車(chē)信息刪除-n); printf(請(qǐng)輸入要?jiǎng)h除的班車(chē)的型號(hào)和發(fā)車(chē)時(shí)間n); printf(t型號(hào):); scanf(%s,a); printf(t發(fā)車(chē)時(shí)間: ); scanf(%s,b); for(i=1;i=stop.count;i+) if(strcmp(a,stop.busi.time)=0&strcmp(b,stop.busi.model)=0 ) n=

19、i; printf(車(chē)號(hào)t 型號(hào)t 發(fā)車(chē)時(shí)間t 價(jià)格t 狀態(tài)n); printf(%stt%stt%stt%dtt%dttn,stop.busi.number,stop.busi.time,stop.busi.model,stop.busi.price,stop.busi.state); /* 顯示車(chē)號(hào) 型號(hào) 發(fā)車(chē)時(shí)間 車(chē)費(fèi) 車(chē)輛狀態(tài)*/ printf(是否刪除信息 ? 1(是),0(否) ); scanf(%d,&ch); if(ch=1) for(j=i+1;j=stop.count;j+) stop.busj-1=stop.busj; stop.count-; else break; s

20、ave(); if(n=0) printf(班車(chē)信息輸入有誤); getch(); void initiate() int i; FILE *fp; /*定義1文件型指針變量,指針名叫fp*/*fp指向file類(lèi)型結(jié)構(gòu)體的指針*/ fp=fopen(stop.txt,wt); /*以寫(xiě)的方式打開(kāi)stop*/ printf(系統(tǒng)初始化后系統(tǒng)所有信息將全部丟失,n); printf(是否仍選擇初始化?(是(1),否(0)); scanf(%d,&i); if(i=1) stop.count=0; save(); fclose(fp); /*關(guān)閉文件*/ return; return; void s

21、etstate() /*班車(chē)狀態(tài)轉(zhuǎn)換*/ int i,a,n=1; char ch20; printf(請(qǐng)輸入班車(chē)車(chē)號(hào),轉(zhuǎn)換班車(chē)的狀態(tài): ); scanf(%s,ch); for(i=1;i=stop.count+1;i+) if(strcmp(ch,stop.busi.number)=0 ) printf(車(chē)號(hào)t 型號(hào)t 發(fā)車(chē)時(shí)間t 價(jià)格t 狀態(tài)n); printf(%stt%stt%stt%dtt%dn,stop.busi.number,stop.busi.time,stop.busi.model,stop.b printf(狀態(tài)轉(zhuǎn)換(是 (1),否(0) : ); scanf(%d,&a

22、); if(a=1) if(stop.busi.state=1) stop.busi.state=0; else if(stop.busi.state=0 ) stop.busi.state=1 ; save(); 6、 測(cè)試與分析1歡迎及操作說(shuō)明界面運(yùn)行結(jié)果2菜單界面運(yùn)行結(jié)果3錄入班車(chē)信息運(yùn)行結(jié)果4班車(chē)信息查詢運(yùn)行結(jié)果5班車(chē)信息輸出運(yùn)行結(jié)果:6班車(chē)信息刪除運(yùn)行結(jié)果3667班車(chē)信息初始化運(yùn)行結(jié)果:8班車(chē)狀態(tài)轉(zhuǎn)換運(yùn)行結(jié)果: 七、設(shè)計(jì)總結(jié)通過(guò)此次課程設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)c語(yǔ)言方面的知識(shí),在設(shè)計(jì)過(guò)程中雖然遇到了一些問(wèn)題,但經(jīng)過(guò)一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了

23、前期我在這方面的知識(shí)欠缺和經(jīng)驗(yàn)不足。實(shí)踐出真知,通過(guò)親自動(dòng)手制作,使我們掌握的知識(shí)不再是紙上談兵。過(guò)而能改,善莫大焉。在課程設(shè)計(jì)過(guò)程中,我們不斷發(fā)現(xiàn)錯(cuò)誤,不斷改正,不斷領(lǐng)悟,不斷獲取。最終的檢測(cè)調(diào)試環(huán)節(jié),本身就是在踐行“過(guò)而能改,善莫大焉”的知行觀。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多問(wèn)題,最后在老師的指導(dǎo)下,終于游逆而解。在今后社會(huì)的發(fā)展和學(xué)習(xí)實(shí)踐過(guò)程中,一定要不懈努力,不能遇到問(wèn)題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問(wèn)題所在,然后一一進(jìn)行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上劈荊斬棘,而不是知難而退,那樣永遠(yuǎn)不可能收獲成功,收獲喜悅,也永遠(yuǎn)不可能得到社會(huì)及他人對(duì)

24、你的認(rèn)可!回顧起此課程設(shè)計(jì),至今我仍感慨頗多,從理論到實(shí)踐,在這段日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,但可喜的是最終都得到了解決。此次設(shè)計(jì)也讓我明白了思路即出路,有什么不懂不明白的地方要及時(shí)請(qǐng)教或上網(wǎng)查詢,只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐,就沒(méi)有弄不懂的知識(shí)

25、,收獲頗豐。參考文獻(xiàn)1姜靈芝,余健. C語(yǔ)言課程設(shè)計(jì)案例精編.北京:清華大學(xué)出版社,20082王新,孫雷. C語(yǔ)言課程設(shè)計(jì).北京:清華大學(xué)出版社,20093游洪躍、彭駿、譚斌.C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)與課程設(shè)計(jì)教程.北京:清華大學(xué)出版社,20114王連相.C/C+程序設(shè)計(jì)上機(jī)指導(dǎo)與測(cè)試. 北京:中國(guó)鐵道出版社,20065C語(yǔ)言函數(shù)手冊(cè),機(jī)械工業(yè)出版社,1999致謝本課題在選題及進(jìn)行過(guò)程中得到唐老師的悉心指導(dǎo)。論文行文過(guò)程中,唐老師多次幫助我分析思路,開(kāi)拓視角,在我遇到困難想放棄的時(shí)候給予我最大的支持和鼓勵(lì)。唐老師嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度,踏實(shí)堅(jiān)韌的工作精神,將使我終生受益。再多華麗的言語(yǔ)也顯蒼白。在此,謹(jǐn)

26、向唐老師致以誠(chéng)摯的謝意和崇高的敬意。 附 錄小五,Times New Raman,行距:固定行距10磅#include#include#include#includevoid save();void luru(); void search();void search_by_time();void search_by_model();void print();void shanchu();void initiate();void setstate();typedef struct char number10;/*班車(chē)車(chē)號(hào)*/ char time20; /*發(fā)車(chē)時(shí)間*/ char model20;

27、 /*班車(chē)型號(hào)*/ int price; /*車(chē)票價(jià)格*/ int state; /*班車(chē)狀態(tài)*/mbus; typedef struct mbus bus1000; int count; mstop; mstop stop;void main() int i; char ch=1; FILE *fp; /*定義1文件型指針變量,指針名叫fp*/*fp指向file類(lèi)型結(jié)構(gòu)體的指針*/ if(fp=fopen(stop.txt,rt)=NULL) /*以寫(xiě)的方式打開(kāi)stop*/ stop.count=0; else fread(&stop.count,sizeof(int),1,fp); fre

28、ad(stop.bus,sizeof(stop.bus1),stop.count+1,fp); fclose(fp);/*關(guān)閉文件*/ system(graftabl 936); /*調(diào)用Ms-Dos中文支持 */ printf(nnnttt歡迎使用班車(chē)管理系統(tǒng)!nt); /*班車(chē)管理系統(tǒng)歡迎界面*/ printf(操作說(shuō)明:n); printf( 1.數(shù)據(jù)輸入完成后按 Enter 鍵確認(rèn).n); printf( 2.班車(chē)信息當(dāng)中車(chē)費(fèi)價(jià)格,車(chē)號(hào)只能是整數(shù).n); printf( 3.班車(chē)信息狀態(tài)欄中,1表示未發(fā)車(chē),0表示已發(fā)車(chē).n); printf( 4.對(duì)于錄入的班車(chē)信息的狀態(tài),系統(tǒng)默認(rèn)為1

29、n); printf( 5.請(qǐng)嚴(yán)格按照要求操作.n); printf(nnttt請(qǐng)按任意鍵繼續(xù).); getch(); while(ch!=0) printf(nnnnn); printf(ttttt 班車(chē)管理系統(tǒng)n); /*班車(chē)管理系統(tǒng)菜單選項(xiàng)*/ for(i=0;i80;i+ ) printf(*); printf(n); printf(tt1-班車(chē)信息錄入n); printf(tt2-班車(chē)信息查詢n); printf(tt3-班車(chē)信息輸出n); printf(tt4-刪除班車(chē)信息n); printf(tt5-系統(tǒng)初始化n); printf(tt6-班車(chē)狀態(tài)轉(zhuǎn)換n);printf(tt0-

30、退出n); for(i=0;i80;i+ ) printf(*); printf(nn);printf( t請(qǐng)輸入你的選擇: ); /*班車(chē)管理系統(tǒng)各個(gè)選項(xiàng)及其后繼步驟*/ scanf(%c,&ch); switch(ch) case 1: luru(); break; case 2: search(); break; case 3: print(); break; case 4: shanchu(); break; case 5: initiate(); break; case 6: setstate(); break; default: break; printf(nnnnnnnnnttt

31、t謝謝使用!); /*班車(chē)管理系統(tǒng)關(guān)閉狀態(tài)*/ getch(); void save() FILE *fp; /*定義1文件型指針變量,指針名叫fp*/*fp指向file類(lèi)型結(jié)構(gòu)體的指針*/ fp=fopen(stop.txt,wt); /*以寫(xiě)的方式打開(kāi)stop*/ fwrite(&stop.count,sizeof(int),1,fp); fwrite(stop.bus,sizeof(stop.bus1),stop.count+1,fp); fclose(fp); /*關(guān)閉文件*/ void luru() /*車(chē)輛信息錄入*/int a=1; while(a!=0) stop.count+

32、; printf(錄入班車(chē)信息n); printf(請(qǐng)輸入班車(chē)車(chē)號(hào): ); scanf(%s,stop.busstop.count.number); printf(請(qǐng)輸入型號(hào): ); scanf(%s,stop.busstop.count.time); printf(請(qǐng)輸入發(fā)車(chē)時(shí)間: ); scanf(%s,stop.busstop.count.model); printf(請(qǐng)輸入車(chē)費(fèi)標(biāo)價(jià): ); fflush(stdin); scanf(%d,&stop.busstop.count.price); stop.busstop.count.state=1; printf(退出請(qǐng)按 0 ,繼續(xù)請(qǐng)按

33、 1 :); /*班車(chē)信息錄入結(jié)束*/ scanf(%d,&a); save();void search() /*車(chē)輛信息查詢*/ int a=0; printf(-班車(chē)信息查詢-n);printf(tt1- 型號(hào)查詢n); printf(tt2-發(fā)車(chē)時(shí)間查詢n); printf(請(qǐng)選擇查詢方式: ); scanf(%d,&a); switch (a) case 1: search_by_time(); break; case 2: search_by_model(); break; default: break; void search_by_time() int n=1,i; char a

34、20; printf(請(qǐng)輸入你要查找班車(chē)的型號(hào): ); scanf(%s,a); printf(車(chē)號(hào) t型號(hào) t發(fā)車(chē)時(shí)間 t車(chē)費(fèi) t狀態(tài)n); for(i=1;i=stop.count;i+) if(strcmp(a,stop.busi.time)=0) printf(%stt%stt%stt%dtt%dn,stop.busi.number,stop.busi.time,stop.busi.model,stop.busi.price,stop.busi.state); /* 顯示車(chē)號(hào) 型號(hào) 發(fā)車(chē)時(shí)間 車(chē)費(fèi) 車(chē)輛狀態(tài)*/ n=0; if(n=1) /*如果沒(méi)有數(shù)據(jù)顯示對(duì)不起.*/ printf(

35、對(duì)不起,沒(méi)有相應(yīng)信息 ); getch();void search_by_model()char a20; int n=1,i; printf(請(qǐng)輸入你要查找班車(chē)的發(fā)車(chē)時(shí)間: ); scanf(%s,a); printf(車(chē)號(hào)t型號(hào)t發(fā)車(chē)時(shí)間t價(jià)格t狀態(tài)n); for(i=1;i=stop.count;i+) if(strcmp(a,stop.busi.model)=0) printf(%stt%stt%stt%dtt%dn,stop.busi.number,stop.busi.time,stop.busi.model,stop.busi.price,stop.busi.state); /*

36、顯示車(chē)號(hào) 型號(hào) 發(fā)車(chē)時(shí)間 車(chē)費(fèi) 車(chē)輛狀態(tài)*/ n=0; if(n=1) /*如果沒(méi)有數(shù)據(jù)顯示對(duì)不起.*/ printf(對(duì)不起,沒(méi)有相應(yīng)信息 ); getch();void print() int i,n; printf(車(chē)號(hào)t 型號(hào)t 發(fā)車(chē)時(shí)間t 價(jià)格t 狀態(tài)n); for(i=1;i=stop.count;i+) printf(%stt%stt%stt%dtt%dn,stop.busi.number,stop.busi.time,stop.busi.model,stop.busi.price,stop.busi.state); /* 顯示車(chē)號(hào) 型號(hào) 發(fā)車(chē)時(shí)間 車(chē)費(fèi) 車(chē)輛狀態(tài)*/ getch(); void shanchu() /* 班車(chē)信息刪除*/ int i,j,ch,n=0; char a20,b20; printf(-班車(chē)信息刪除-n); printf(請(qǐng)輸入要?jiǎng)h除的班車(chē)的車(chē)號(hào)和發(fā)車(chē)時(shí)間

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論