基于C++的車信息管理系統(tǒng)參考模板_第1頁
基于C++的車信息管理系統(tǒng)參考模板_第2頁
基于C++的車信息管理系統(tǒng)參考模板_第3頁
基于C++的車信息管理系統(tǒng)參考模板_第4頁
基于C++的車信息管理系統(tǒng)參考模板_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、皖西學(xué)院信息工程學(xué)院School of Information and Engineering, West Anhui UniversityC+面向?qū)ο笳n內(nèi)程序設(shè)計(jì) 實(shí)驗(yàn)報(bào)告 20142015學(xué)年第二學(xué)期 專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)班 級計(jì)科1301姓 名學(xué) 號任課教師 1 / 15C+面向?qū)ο笳n內(nèi)程序設(shè)計(jì)實(shí) 驗(yàn) 報(bào) 告 學(xué)號: 姓名 班級:計(jì)科1301 成績:實(shí)驗(yàn)名稱:小型車信息管理系統(tǒng) 實(shí)驗(yàn)地點(diǎn):PC所使用的工具軟件及環(huán)境:個人計(jì)算機(jī),Windows7,VC+6.01、 實(shí)驗(yàn)?zāi)康模哼M(jìn)一步了解面對對象編程的優(yōu)點(diǎn),學(xué)會如何使用面向?qū)ο蟮姆椒▉砭帉懸粋€較大的應(yīng)用程序。總結(jié)本書所學(xué)的內(nèi)容,編寫一個

2、綜合性的程序。二、實(shí)驗(yàn)任務(wù): 設(shè)計(jì)一個程序,用來查詢不同種類車的價(jià)格,性能等。 自行車包含車的名稱,價(jià)格,最大速度,高度。 摩托車包含車的名稱,價(jià)格,最大速度,最大里程。 汽車包含車的名稱,價(jià)格,最大速度,車載人數(shù)。 可以實(shí)現(xiàn)錄入車的信息,查詢車的信息,實(shí)現(xiàn)名稱查找并在屏幕顯示車的信息。查找不存在時(shí)提示不存在。三、實(shí)驗(yàn)說明: 本次實(shí)驗(yàn)是體現(xiàn)了,類和對象,對象數(shù)組、靜態(tài)成員、類的組合,繼承。文件的輸入,輸出等綜合使用。 本系統(tǒng)中的3種不同種類的對象:自行車、摩托車和小汽車,抽取共性特征,形成一個基類:基本信息類vehicyle,然后在這個基類的基礎(chǔ)上,分別派生出3個類:自行車類bicycle、摩

3、托車類motorcycle和小汽車類car。 系統(tǒng)管理類實(shí)現(xiàn)界面的輸出,信息的查詢。共同構(gòu)成小型車信息管理系統(tǒng)。本系統(tǒng)的實(shí)用性在于,可以用于4s店或車輛專賣,二手車交易市場使用,用于錄入商品信息并在客人問詢時(shí)查詢相對應(yīng)的信息。四、實(shí)驗(yàn)分析:(一) 基本信息類的屬性和操作1、 基本類的信息類的屬性汽車類的編號、名稱、價(jià)格、最大速度。為了方便信息的讀取,程序給每類車設(shè)置了一個車類別編號,以便區(qū)分各類車型。2、 基本信息類的操作數(shù)據(jù)輸入 輸入各車對象的信息:車名,車的價(jià)格,車的最大車速;數(shù)據(jù)輸出 輸出各車對象的信息:車名,車的價(jià)格,車的最大車速。(二) 各種車類的屬性和操作 各類車型繼承了基本信息類

4、的共性特征,并增加了自己特有的屬性。1、 自行車類的屬性和操作自行車類的屬性有:(1) 繼承了基本信息類的屬性:車型編號、車名、價(jià)格和車的最大速度;(2) 增加了自行車類區(qū)別與其他類的特殊屬性:高度。 自行車類的操作有:(3) 數(shù)據(jù)輸入:除了繼承基本信息類的數(shù)據(jù)輸入功能外,增加了輸入自行車類特殊屬性“高度”信息的功能;(4) 數(shù)據(jù)輸出:除了繼承基本信息類的數(shù)據(jù)輸入功能外,增加了輸入自行車類特殊屬性“高度”信息的功能。2、 摩托車類的屬性和操作摩托車類的屬性有:(1) 繼承了基本信息類的屬性:車型編號、車名、價(jià)格和車的最大速度;(2) 增加了摩托車類區(qū)別與其他類的特殊屬性:最大里程。 自行車類的

5、操作有:(3) 數(shù)據(jù)輸入:除了繼承基本信息類的數(shù)據(jù)輸入功能外,增加了輸入摩托車類特殊屬性“最大里程”信息的功能;(4) 數(shù)據(jù)輸出:除了繼承基本信息類的數(shù)據(jù)輸入功能外,增加了輸入摩托車類特殊屬性“最大里程”信息的功能。3、 小汽車類的屬性和操作小汽車類的屬性有:(1) 繼承了基本信息類的屬性:車型編號、車名、價(jià)格和車的最大速度;(2) 增加了小汽車車類區(qū)別與其他類的特殊屬性:車載人數(shù)。 自行車類的操作有:(3) 數(shù)據(jù)輸入:除了繼承基本信息類的數(shù)據(jù)輸入功能外,增加了輸入小汽車類特殊屬性“車載人數(shù)”信息的功能;(4) 數(shù)據(jù)輸出:除了繼承基本信息類的數(shù)據(jù)輸入功能外,增加了輸入小汽車類特殊屬性“車載人數(shù)

6、”信息的功能。(三) 系統(tǒng)管理類的操作系統(tǒng)的管理功能自成一個類:系統(tǒng)管理類。類的操作:(1) 輸入車的基本信息;(2) 根據(jù)車名查詢某車的信息。(四) 基類和派生類的設(shè)計(jì)根據(jù)上面的分析,需要設(shè)計(jì)一個基類vehicyle(基本信息類)和它的三個派生類bicycle(自行車類),motorcycle(摩托車類)和car(小汽車類)。基本信息類vehicyle中的數(shù)據(jù)成員是num(車型類別編號)、name(車名)、price(車的價(jià)格)和maxspeed(最大速度)。3個車類除了繼承基類vehicyle的數(shù)據(jù)外,類bicycle增加了數(shù)據(jù)成員height()高度,類motorcycle增加了數(shù)據(jù)成員

7、maxmile(最大里程),類car增加了數(shù)據(jù)成員seat(車載人數(shù))。在基類中定義了構(gòu)造函數(shù)和對所有類型車的相同操作,成員函數(shù)Get_num負(fù)責(zé)取出車型類別編號,成員函數(shù)Getname負(fù)責(zé)取出車名,Get_price負(fù)責(zé)取出車的價(jià)格,成員函數(shù)Get_maxspeed負(fù)責(zé)取出車的最大車速,成員函數(shù)Input負(fù)責(zé)輸入,Output負(fù)責(zé)輸出。系統(tǒng)管理類(System)的主要操作是:成員函數(shù)In_formation負(fù)責(zé)輸入車信息,成員函數(shù)search負(fù)責(zé)查詢車信息,成員函數(shù)Interface負(fù)責(zé)界面的輸出(五)系統(tǒng)管理類的設(shè)計(jì)(1)信息的輸入 信息的輸入功能由成員函數(shù)In_formation來完成,

8、它根據(jù)要輸入車的類別分別調(diào)用相對應(yīng)的車信息輸入功能函數(shù)完成本類車的輸入。有三個類別的車信息輸入函數(shù):void infor1(); /輸入類對象數(shù)據(jù)void infor2();void infor3();以infor1說明一條車信息的輸入實(shí)現(xiàn)過程:void System:infor1() /輸入自行車類對象數(shù)據(jù)bicycle A;fstream datafile(fileName,ios:in|ios:out|ios:binary);datafile.seekp(0,ios:end);A.Input();datafile.write(char*)&A,sizeof(class bicyc

9、le);Bi1=A;datafile.close();(2)信息的查詢信息查詢功能由成員函數(shù)search來完成。它接收從鍵盤輸入車類別編號和車名,在對應(yīng)的對象數(shù)組中查找,找到后通過調(diào)用對象的數(shù)據(jù)輸出成員函數(shù)Outout來顯示車信息。五、參考答案:實(shí)驗(yàn)代碼:#include<iostream>#include<string>#include<fstream>using namespace std;#define N 9 /各類車的最大數(shù)char fileName="super.dat" /存放車信息的數(shù)據(jù)文件class vehiclepro

10、tected:int num; /車類編號char name20; /車名int price; /車的價(jià)格int maxspeed; /車的最大車速public:vehicle (char *R_name=" ",int price=0,int maxspeed=0); /構(gòu)造函數(shù)初始化 vehicle()/取值函數(shù)int Get_num();int Get_peice();int Get_maxpeed();char *Getname(); void Input();void Output(); class bicycle:public vehicle /自行車類publ

11、ic:bicycle( char *R_name=" ",int price=0,int maxspeed=0,int height=0);bicycle()void Input();void Output();private:int height; /高度;class motorcycle:public vehiclepublic:motorcycle(char *R_name=" ",int price=0,int maxspeed=0,int maxmile=0); motorcycle() void Input(); void Output();

12、private:int maxmile; /最大里程;class car: public vehiclepublic:car(char *R_name=" ",int price=0,int maxspeed=0,int seat=0);car()void Input();void Output();private:int seat; /車載人數(shù);class System /系統(tǒng)管理類private:vehicle A;bicycle B3;motorcycle C3;car D3;static int i1,i2,i3;void infor1(); /輸入類對象數(shù)據(jù)voi

13、d infor2();void infor3();void save(); /將文件輸出到了內(nèi)存void search1(int h,char ch20); /查找函數(shù)void interface1(); /界面輸出public:System()void In_information();void search();void Interface();vehicle:vehicle (char *R_name,int price,int maxspeed)strcpy(name,R_name);int vehicle:Get_num() return num; int vehicle:Get_p

14、eice() return price; int vehicle:Get_maxpeed() return maxspeed; char*vehicle:Getname() return name;void vehicle:Input()cout << "tt 車名:"cin >> name;cout << "tt 車的價(jià)格:"cin >> price;cout << "tt 車的最大速度:"cin >> maxspeed;void vehicle:Output(

15、)cout << endl;cout << "tt 所要查看車信息:" << endl;cout << "tt 類別號:" << num << endl;cout << "tt 車名:" << name << endl;cout << "tt 價(jià)格:" << price << endl;cout << "tt 最大車速:" <<

16、maxspeed << endl;bicycle:bicycle(char* R_name, int price, int maxspeed, int hegiht) :vehicle( R_name,price,maxspeed)num = 1;void bicycle:Input()vehicle:Input();cout<<"tt 高度:"cin>>height;void bicycle:Output()vehicle:Output();cout<<"tt 高度:"<<height<

17、<endl;motorcycle:motorcycle(char* R_name, int price, int maxspeed, int maxmile) :vehicle( R_name,price,maxspeed)num = 2;void motorcycle:Input()vehicle:Input();cout<<"tt 最大里程:"cin>>maxmile;void motorcycle:Output()vehicle:Output();cout<<"tt 高度:"<<maxmile&

18、lt;<endl;car:car(char* R_name, int price, int maxspeed, int seat) :vehicle( R_name,price,maxspeed)num =3;void car:Input()vehicle:Input();cout<<"tt 車載人數(shù):"cin>>seat;void car:Output()vehicle:Output();cout<<"tt 車載人數(shù):"<<seat<<endl;int System:i1=0;int S

19、ystem:i2=0;int System:i3=0;void System:interface1() /界面輸出cout << "nn"cout << "tt *按車類別進(jìn)行管理*" << endl;cout << "tt *車 類 別 選 擇 *" << endl;cout << "tt 1.自行車類" << endl;cout << "tt 2.摩托車類" << endl;cout

20、<< "tt 3.小汽車類" << endl;cout << "tt 4.退出" << endl;cout << "tt 請您選擇車類別" << endl;void System:In_information()int rev1;int again = 1;char t;while (again)interface1();cin >> rev1;switch (rev1)case 1:infor1();break;case 2:infor2();bre

21、ak;case 3:infor3();break;case 4:Interface();break;default:cout << "ttt 沒有此類車" << endl;continue;cout << "ttt 信息儲存成功! " << endl;cout << "ttt 是否繼續(xù)輸入(y/n)?"cin >> t;cout << endl;if (!(t = 'Y' | t = 'y')again = 0;Inte

22、rface();void System:infor1() /輸入自行車類對象數(shù)據(jù)bicycle A;fstream datafile(fileName,ios:in|ios:out|ios:binary);datafile.seekp(0,ios:end);A.Input();datafile.write(char*)&A,sizeof(class bicycle);Bi1=A;datafile.close();void System:infor2() /輸入自行車類對象數(shù)據(jù)motorcycle A;fstream datafile(fileName,ios:in|ios:out|io

23、s:binary);datafile.seekp(0,ios:end);A.Input();datafile.write(char*)&A,sizeof(class motorcycle);Ci2=A;datafile.close();void System:infor3() /輸入自行車類對象數(shù)據(jù)car A;fstream datafile(fileName,ios:in|ios:out|ios:binary);datafile.seekp(0,ios:end); /寫指針到文件尾部A.Input();datafile.write(char*)&A,sizeof(class

24、car);Di3=A;datafile.close();void System:save()int a;fstream datafile(fileName,ios:out|ios:in|ios:binary); datafile.read(char*)&A,sizeof(vehicle);while (!datafile.eof()a = A.Get_num();switch (a)case 1:datafile.seekp(-1 * sizeof(class vehicle), ios:cur);datafile.read(char*)&Bi1, sizeof(bicycle

25、);i1+;break;case 2:datafile.seekp(-1 * sizeof(class vehicle), ios:cur);datafile.read(char*)&Ci2, sizeof(motorcycle);i2+;break;case 3:datafile.seekp(-1*sizeof(class vehicle), ios:cur);datafile.read(char*)&Di3, sizeof(car);i3+;break;default:break;datafile.read(char*)&A, sizeof(vehicle);dat

26、afile.close();void System:search1(int h, char ch20)int s = 0, found = 0;switch (h)case 1:while (s<N)if (strcmp(ch,Bs.Getname() = 0)Bs.Output();cout << "ttt*" << endl;found = 1;s+;break;case 2:while (s < N)if (strcmp(ch, Cs.Getname() = 0)Cs.Output();cout << "ttt*" << endl;found = 1;s+;break;case 3:while (s < N)if (strcmp(ch, Ds.Getname() = 0)Ds.Output();cout << "ttt*" << endl;found = 1;s+;break;default:break;if (found = 0)cout << "nntt 對不起,該類別中沒有您所要查詢的車!" << endl;void System:search()int

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論