怎么用C++編寫停車場管理系統(tǒng)

這篇文章主要介紹“怎么用C++編寫停車場管理系統(tǒng)”,在日常操作中,相信很多人在怎么用C++編寫停車場管理系統(tǒng)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用C++編寫停車場管理系統(tǒng)”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)建站專注于網(wǎng)站建設|網(wǎng)站維護公司|優(yōu)化|托管以及網(wǎng)絡推廣,積累了大量的網(wǎng)站設計與制作經(jīng)驗,為許多企業(yè)提供了網(wǎng)站定制設計服務,案例作品覆蓋成都PE包裝袋等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結合品牌形象的塑造,量身開發(fā)品質(zhì)網(wǎng)站。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cstdlib>
#include<algorithm>
#include<queue>
#include<vector>
#include<stack>
#include<map>
using namespace std;
struct node
{
 string no;//車牌號
 int time;//車輛進入的時間(以小時為單位)
 int sub;//車輛在停車場的位置
} nod;
map<string,int>mp;//用來檢測車輛在停車場或者在便道內(nèi)
deque<node>q1;//模擬停車場
deque<node>q2;//模擬便道
stack<node>sk;//交換媒介
string str1="park",str2="pavement";
void Push(int n)//車輛駛入操作
{
 cout<<"請輸入要進入車輛的車牌號"<<endl;
 string x;
 int y,ans;
 cin>>x;
 cout<<"請輸入該車輛進入停車場的時間(時間為整形時刻)"<<endl;
 cin>>y;
 if(!mp[x])//如果此車不在停車場或者便道內(nèi)執(zhí)行以下命令
 {
 if(q1.size()<n)//如果停車場未滿
 {
 nod.no=x;
 nod.time=y;
 nod.sub=q1.size()+1;
 q1.push_back(nod);
 mp[x]=q1.size();
 }
 else//停車場滿了之后進入便道
 {
 nod.no=x;
 nod.time=y;
 nod.sub=q2.size()+1;
 q2.push_back(nod);
 mp[x]=n+q2.size();
 }
 }
 else
 cout<<"錯誤:該車輛已在停車場內(nèi)!"<<endl;
}
void Pop(int n)//車輛駛出操作
{
 cout<<"請輸入要駛出車輛的車牌號"<<endl;
 string x;
 int y,ans;
 cin>>x;
 cout<<"請輸入該車輛駛出停車場的時間(時間為整形時刻)"<<endl;
 cin>>y;
 if(!mp[x])
 cout<<"錯誤:該輛并不在停車場內(nèi)!"<<endl;
 else if(mp[x]<=n)//如果該車在停車場內(nèi)
 {
 mp[x]=0;
 while(q1.back().no!=x)//車出
 {
 q1.back().sub--;
 sk.push(q1.back());
 q1.pop_back();
 }
 ans=y-q1.back().time;
 q1.pop_back();
 while(!sk.empty())
 {
 q1.push_back(sk.top());
 sk.pop();
 mp[q1.back().no]=q1.back().sub;
 }
 if(!q2.empty())//如果便道里也有車,那么進入停車場,并且便道后面的車向前移動
 {
 q2.front().time=y;
 q2.front().sub=q1.size()+1;
 q1.push_back(q2.front());
 q2.pop_front();
 while(!q2.empty())
 {
 q2.back().sub--;
 sk.push(q2.back());
 q2.pop_back();
 }
 while(!sk.empty())
 {
 q2.push_back(sk.top());
 sk.pop();
 mp[q2.back().no]=q1.back().sub;
 }
 mp[q1.back().no]=q1.size();
 }
 cout<<"該車輛一共停了 "<<ans<<" 個小時"<<endl;
 cout<<"所以該車輛需要繳納 "<<ans*5<<"元"<<endl;
 }
 else if(mp[x]>n)//如果車在便道里,那么直接離開,后面的車向前移動
 {
 mp[x]=0;
 while(q2.back().no!=x)
 {
 q2.back().sub--;
 sk.push(q2.back());
 q2.pop_back();
 }
 q2.pop_back();
 while(!sk.empty())
 {
 q2.push_back(sk.top());
 sk.pop();
 }
 cout<<"由于該車輛并未進入停車場,所以不進行收費"<<endl;
 }
}
void Query1(int n)//查詢停車場的停車狀態(tài)
{
 cout<<"請輸入要查詢狀態(tài)的車牌號"<<endl;
 cout<<endl;
 string x;
 cin>>x;
 if(!mp[x])
 cout<<"該車輛并未在停車場"<<endl;
 else if(mp[x]<=n)
 cout<<"該車輛位于停車場"<<mp[x]<<"號位"<<endl;
 else
 cout<<"該車輛位于"<<mp[x]-n<<"號便道"<<endl;
}
void Query2(int n)//查詢停車場的空車位
{
 cout<<endl;
 if(q1.size()==n)
 cout<<"停車場已滿"<<endl;
 else
 {
 cout<<"停車場的"<<q1.size()+1;
 for(int i=q1.size()+2; i<=n; i++)
 cout<<"、"<<i;
 cout<<"號位車為空"<<endl;
 }
}
int main()
{
 int n;
 cout<<" **************停車場管理系統(tǒng)**************"<<endl;
 cout<<endl;
 cout<<"停車場管理系統(tǒng)說明:"<<endl;
 cout<<"1.當停車場車位已滿之后,車將會停在便道"<<endl;
 cout<<"2.停車場按照每小時五元的標準收費(不足一小時按照一小時計算)"<<endl;
 cout<<"3.停在便道的車輛不收費。"<<endl;
 cout<<endl;
 cout<<"首先請設置停車場的總共的車位數(shù):"<<endl;
 cin>>n;
 cout<<endl;
 cout<<"*********車位設置完畢!下面開始停車場管理系統(tǒng)模擬*********"<<endl;
 cout<<endl;
 cout<<" *********操作說明*********"<<endl;
 cout<<endl;
 cout<<"車輛駛入登記->請按1 ^_^ 車輛駛出登記->請按2 ^_^"<<endl;
 cout<<endl;
 cout<<"查詢停車場的停車狀態(tài)->請按3 ^_^ 查詢停車場空閑車位->請按4 ^_^ "<<endl;
 cout<<endl;
 cout<<"退出停車場管理系統(tǒng)->請按0 ^_^"<<endl;
 cout<<endl;
 cout<<"說明完畢!下面開始操作"<<endl;
 cout<<endl;
 while(1)
 {
 cout<<"********請選擇操作1~4或者退出按0********"<<endl;
 cout<<endl;
 int t;
 cin>>t;
 if(t==1)
 Push(n);
 else if(t==2)
 Pop(n);
 else if(t==3)
 Query1(n);
 else if(t==4)
 Query2(n);
 else
 break;
 cout<<endl;
 cout<<"***********************biubiu***********************"<<endl;
 cout<<"***********************biubiu***********************"<<endl;
 cout<<endl;
 }
 cout<<"歡迎使用停車場管理系統(tǒng),期待您的下次使用^_^"<<endl;
}

結果:

怎么用C++編寫停車場管理系統(tǒng)

怎么用C++編寫停車場管理系統(tǒng)

到此,關于“怎么用C++編寫停車場管理系統(tǒng)”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

網(wǎng)頁標題:怎么用C++編寫停車場管理系統(tǒng)
文章網(wǎng)址:http://www.muchs.cn/article46/gehceg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站設計、商城網(wǎng)站網(wǎng)站維護、動態(tài)網(wǎng)站搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作