欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

C++實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎn)擊: 次

本文實(shí)例為大家分享了停車場(chǎng)管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

#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;//車牌號(hào)
 int time;//車輛進(jìn)入的時(shí)間(以小時(shí)為單位)
 int sub;//車輛在停車場(chǎng)的位置
} nod;
map<string,int>mp;//用來檢測(cè)車輛在停車場(chǎng)或者在便道內(nèi)
deque<node>q1;//模擬停車場(chǎng)
deque<node>q2;//模擬便道
stack<node>sk;//交換媒介
string str1="park",str2="pavement";
void Push(int n)//車輛駛?cè)氩僮?
{
 cout<<"請(qǐng)輸入要進(jìn)入車輛的車牌號(hào)"<<endl;
 string x;
 int y,ans;
 cin>>x;
 cout<<"請(qǐng)輸入該車輛進(jìn)入停車場(chǎng)的時(shí)間(時(shí)間為整形時(shí)刻)"<<endl;
 cin>>y;
 if(!mp[x])//如果此車不在停車場(chǎng)或者便道內(nèi)執(zhí)行以下命令
 {
 if(q1.size()<n)//如果停車場(chǎng)未滿
 {
  nod.no=x;
  nod.time=y;
  nod.sub=q1.size()+1;
  q1.push_back(nod);
  mp[x]=q1.size();
 }
 else//停車場(chǎng)滿了之后進(jìn)入便道
 {
  nod.no=x;
  nod.time=y;
  nod.sub=q2.size()+1;
  q2.push_back(nod);
  mp[x]=n+q2.size();
 }
 }
 else
 cout<<"錯(cuò)誤:該車輛已在停車場(chǎng)內(nèi)!"<<endl;
}
void Pop(int n)//車輛駛出操作
{
 cout<<"請(qǐng)輸入要駛出車輛的車牌號(hào)"<<endl;
 string x;
 int y,ans;
 cin>>x;
 cout<<"請(qǐng)輸入該車輛駛出停車場(chǎng)的時(shí)間(時(shí)間為整形時(shí)刻)"<<endl;
 cin>>y;
 if(!mp[x])
 cout<<"錯(cuò)誤:該輛并不在停車場(chǎng)內(nèi)!"<<endl;
 else if(mp[x]<=n)//如果該車在停車場(chǎng)內(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())//如果便道里也有車,那么進(jìn)入停車場(chǎng),并且便道后面的車向前移動(dòng)
 {
  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<<" 個(gè)小時(shí)"<<endl;
 cout<<"所以該車輛需要繳納 "<<ans*5<<"元"<<endl;
 }
 else if(mp[x]>n)//如果車在便道里,那么直接離開,后面的車向前移動(dòng)
 {
 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<<"由于該車輛并未進(jìn)入停車場(chǎng),所以不進(jìn)行收費(fèi)"<<endl;
 }
}
void Query1(int n)//查詢停車場(chǎng)的停車狀態(tài)
{
 cout<<"請(qǐng)輸入要查詢狀態(tài)的車牌號(hào)"<<endl;
 cout<<endl;
 string x;
 cin>>x;
 if(!mp[x])
 cout<<"該車輛并未在停車場(chǎng)"<<endl;
 else if(mp[x]<=n)
 cout<<"該車輛位于停車場(chǎng)"<<mp[x]<<"號(hào)位"<<endl;
 else
 cout<<"該車輛位于"<<mp[x]-n<<"號(hào)便道"<<endl;
}
void Query2(int n)//查詢停車場(chǎng)的空車位
{
 cout<<endl;
 if(q1.size()==n)
 cout<<"停車場(chǎng)已滿"<<endl;
 else
 {
 cout<<"停車場(chǎng)的"<<q1.size()+1;
 for(int i=q1.size()+2; i<=n; i++)
  cout<<"、"<<i;
 cout<<"號(hào)位車為空"<<endl;
 }
}
int main()
{
 int n;
 cout<<"  **************停車場(chǎng)管理系統(tǒng)**************"<<endl;
 cout<<endl;
 cout<<"停車場(chǎng)管理系統(tǒng)說明:"<<endl;
 cout<<"1.當(dāng)停車場(chǎng)車位已滿之后,車將會(huì)停在便道"<<endl;
 cout<<"2.停車場(chǎng)按照每小時(shí)五元的標(biāo)準(zhǔn)收費(fèi)(不足一小時(shí)按照一小時(shí)計(jì)算)"<<endl;
 cout<<"3.停在便道的車輛不收費(fèi)。"<<endl;
 cout<<endl;
 cout<<"首先請(qǐng)?jiān)O(shè)置停車場(chǎng)的總共的車位數(shù):"<<endl;
 cin>>n;
 cout<<endl;
 cout<<"*********車位設(shè)置完畢!下面開始停車場(chǎng)管理系統(tǒng)模擬*********"<<endl;
 cout<<endl;
 cout<<"  *********操作說明*********"<<endl;
 cout<<endl;
 cout<<"車輛駛?cè)氲怯?>請(qǐng)按1 ^_^  車輛駛出登記->請(qǐng)按2 ^_^"<<endl;
 cout<<endl;
 cout<<"查詢停車場(chǎng)的停車狀態(tài)->請(qǐng)按3 ^_^ 查詢停車場(chǎng)空閑車位->請(qǐng)按4 ^_^ "<<endl;
 cout<<endl;
 cout<<"退出停車場(chǎng)管理系統(tǒng)->請(qǐng)按0 ^_^"<<endl;
 cout<<endl;
 cout<<"說明完畢!下面開始操作"<<endl;
 cout<<endl;
 while(1)
 {
 cout<<"********請(qǐng)選擇操作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<<"歡迎使用停車場(chǎng)管理系統(tǒng),期待您的下次使用^_^"<<endl;
}

結(jié)果:

更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。

上一篇:c語言通過opencv實(shí)現(xiàn)輪廓處理與切割

欄    目:C語言

下一篇:Opencv光流運(yùn)動(dòng)物體追蹤詳解

本文標(biāo)題:C++實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/993.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有