C面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計車位管理程序_第1頁
C面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計車位管理程序_第2頁
C面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計車位管理程序_第3頁
C面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計車位管理程序_第4頁
C面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計車位管理程序_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

年4月19日C面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計車位管理程序文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。南京航空航天大學(xué)金城學(xué)院《C++面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計實驗報告題目:_車位管理程序班級:分組:組員:成績:指導(dǎo)教師:完成日期:年月日

目錄一、程序的主要功能二、系統(tǒng)總框架圖三、各模塊的功能四、功能模塊圖五、程序結(jié)構(gòu)流程圖六、試驗結(jié)果七、編程體會八、參考資料九、附錄:程序清單及源程序

程序的主要功能(1)停車:新來車輛時如果有空位,按順序為該車分配停車位,并自動記錄開始停車的時間(用系統(tǒng)的時間);(2)計費:車輛開走時,輸入車位編號,自動記錄結(jié)束停車的時間(用系統(tǒng)的時間);計算出相應(yīng)停車費;(3)顯示:顯示停車場中各類車輛的信息。(4)退出二、系統(tǒng)總框架圖主函數(shù)主函數(shù)用戶選擇操作用戶選擇操作操作完成操作完成退出程序退出程序各模塊的功能Park類//描述停車場的類Park,定義Park內(nèi)的數(shù)據(jù)成員Automobile類//包括純虛函數(shù)Pay用于顯示車輛信息并交納相應(yīng)停車費,以及getlicense()獲得車牌號Time類//獲取系統(tǒng)時間Truck類//公有繼承Automobile類,并增加靜態(tài)數(shù)據(jù)成員deadweight(載重量),對基類中的純虛函數(shù)pay()詳細(xì)定義Carriage類 //公有繼承Automobile類,并增加靜態(tài)數(shù)據(jù)成員num(乘坐人數(shù)),對基類中的純虛函數(shù)pay()詳細(xì)定義Car類 //公有繼承Automobile類,并增加靜態(tài)數(shù)據(jù)成員displacement(排氣量)intmain()//主函數(shù)(功能選擇→功能實現(xiàn))功能模塊圖主函數(shù)主函數(shù)輸入車牌號退出返回菜單輸入車牌號選擇車類型停車顯示取車輸入車牌號退出返回菜單輸入車牌號選擇車類型停車顯示取車取車成功顯示繳費信息取車成功顯示繳費信息停車成功顯示停車場信息五、程序結(jié)構(gòu)流程圖開始開始pay(inti=0)Car結(jié)束pay(inti=0)pay(inti=0)CarriageTruckgetlicense()停車取車顯示

pay(inti=0)Car結(jié)束pay(inti=0)pay(inti=0)CarriageTruckgetlicense()停車取車顯示六、試驗結(jié)果七、編程體會剛開始沒有想到去怎么做,簡單弄了一下框架,后面慢慢的邊寫邊改,然后就寫出來了。經(jīng)過百度的查找,懂得了用tm時間結(jié)構(gòu)。這次課設(shè)讓我對c++有了更深的認(rèn)識八、參考資料(1)《C++面向?qū)ο蟪绦蛟O(shè)計》/陳臘梅等編.-北京:中國電力出版社,.8九、附錄:程序清單及源程序#include<iostream>#include<time.h>#include<string>usingnamespacestd;classPark{public: intjudge;//判斷車位是否為空,0為空,1相反 intt_hour; //開始停車時間 intt_min; intq_hour;//qiut離開時間 intq_min; intleixing;//車類型 stringchepai;//車牌號};Parkp[3];//定義Park類對象p[3]//classAutomobile//基類{ inti; doublej; stringlicense;//車牌號public: stringgetlicense() { cout<<"請輸入車牌號:"<<endl; cin>>license; returnlicense; } doublemoney(inti=0) { j=1/60; return((p[i].q_hour-p[i].t_hour)*60+(p[i].q_min-p[i].t_min))*j; } virtualvoidpay(inti)=0;//純虛函數(shù)};//classTime//定義時間類{ inthour;//時 intmin;//分public: voidgettime()//時間函數(shù) { structtm*newtime;//獲取時間 time_tlong_time; time(&long_time); newtime=localtime(&long_time); hour=newtime->tm_hour;//得到系統(tǒng)的當(dāng)前小時 min=newtime->tm_min;//得到系統(tǒng)的當(dāng)前分鐘 } intshowTime_h() { returnhour; } intshowTime_m() { returnmin; }};//classTruck:publicAutomobile//卡車{ staticfloatdeadweight;//載重量public: voidpay(inti=0) { cout<<""<<endl; cout<<"取車成功!"<<endl; cout<<"車牌號:"<<p[i].chepai<<endl; cout<<"所停車位:"<<i+1<<endl; cout<<"載重量:"<<deadweight<<endl; cout<<"進(jìn)入停車場時間:"<<p[i].t_hour<<":"<<p[i].t_min<<endl; cout<<"離開停車場時間:"<<p[i].q_hour<<":"<<p[i].q_min<<endl; cout<<"需交納停車費:"<<(money())*2<<endl; cout<<""<<endl; } voidzaizhong() { cout<<"請輸入載重量"<<endl; cin>>deadweight; }};//classCarriage:publicAutomobile//客車{ staticintnum;//乘坐人數(shù)public: voidpay(inti=0) { cout<<""<<endl; cout<<"取車成功!"<<endl; cout<<"車牌號:"<<p[i].chepai<<endl; cout<<"所停車位:"<<i+1<<endl; cout<<"乘坐人數(shù):"<<num<<endl; cout<<"進(jìn)入停車場時間:"<<p[i].t_hour<<":"<<p[i].t_min<<endl; cout<<"離開停車場時間:"<<p[i].q_hour<<":"<<p[i].q_min<<endl; cout<<"需交納停車費:"<<(money())*1.5<<endl; cout<<""<<endl; } voidrenshu() { cout<<"請輸入乘坐人數(shù):"<<endl; cin>>num; }};//classCar:publicAutomobile//小轎車{ staticfloatdisplacement;//排氣量public: voidpay(inti=0) { cout<<""<<endl; cout<<"取車成功!"<<endl; cout<<"車牌號:"<<p[i].chepai<<endl; cout<<"所停車位:"<<i+1<<endl; cout<<"排氣量:"<<displacement<<endl; cout<<"進(jìn)入停車場時間:"<<p[i].t_hour<<":"<<p[i].t_min<<endl; cout<<"離開停車場時間:"<<p[i].q_hour<<":"<<p[i].q_min<<endl; cout<<"需交納停車費:"<<(money())*1<<endl; cout<<""<<endl; } voidpaiqi() { cout<<"請輸入排氣量:"<<endl; cin>>displacement; }};floatTruck::deadweight=0;//靜態(tài)成員初始化intCarriage::num=0;floatCar::displacement=0;//intmain(){ inti,m,n; stringlschepai; do { cout<<"歡迎光臨"<<endl; cout<<"**************************"<<endl; cout<<"1.停車"<<endl;cout<<"2.取車"<<endl;cout<<"3.顯示"<<endl;cout<<"4.退出"<<endl; cout<<"**************************"<<endl; cout<<"請選擇功能:"<<endl; cin>>m; if(m==1) { for(i=0;i<3;i++) { if(p[i].judge==0)//judge為0即代表車位為空,能夠停車 { do{ cout<<"請選擇車類型:1:Truck 2:Carriage 3:Car"<<endl; cin>>p[i].leixing; switch(p[i].leixing) { case1:{TruckTruck1;p[i].chepai=Truck1.getlicense();Truck1.zaizhong();}break; case2:{CarriageCarriage1;p[i].chepai=Carriage1.getlicense();Carriage1.renshu();}break; case3:{CarCar1;p[i].chepai=Car1.getlicense();Car1.paiqi();}break; default:cout<<"輸入錯誤!"<<endl;break; } } while(p[i].leixing!=1&&p[i].leixing!=2&&p[i].leixing!=3); TimeTime_t; Time_t.gettime(); p[i].t_hour=Time_t.showTime_h(); p[i].t_min=Time_t.showTime_m(); cout<<""<<endl; cout<<"停車成功!車位:"<<i+1<<endl; cout<<"車牌號:"<<p[i].chepai<<endl; cout<<"車類型:"<<p[i].leixing<<endl; cout<<"停車時間:"<<p[i].t_hour<<":"<<p[i].t_min<<endl; cout<<""<<endl; p[i].judge=1;//給judge賦值為1,表明該車位已占用 break; } else { if(i==2) cout<<endl<<"車位已滿!請選擇其它功能!"<<endl<<endl;; } } } if(m==2) { cout<<"請輸入車牌號:"<<endl; cin>>lschepai; TimeTime_q; Time_q.gettime(); for(i=0;i<3;i++) { if(lschepai==p[i].chepai) { p[i].q_hour=Time_q.showTime_h(); p[i].q_min=Time_q.showTime_m(); switch(p[i].leixing) { case1:{TruckTruck2;Truck2.pay(i);};break; case2:{CarriageCarriage2;Carriage2.pay(i);};break; case3:{CarCar2;Car2.pay(i);};break; }

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論