最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2020年04月08日 10:02:27   作者:Akatsuki__Itachi  
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)停車(chē)場(chǎng)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

結(jié)果:

推薦幾篇文章:

C++實(shí)現(xiàn)簡(jiǎn)單的圖書(shū)管理系統(tǒng)

C++實(shí)現(xiàn)簡(jiǎn)單的職工信息管理系統(tǒng)

C++基礎(chǔ)學(xué)生管理系統(tǒng)

關(guān)于管理系統(tǒng)的更多內(nèi)容請(qǐng)點(diǎn)擊《管理系統(tǒng)專(zhuān)題》進(jìn)行學(xué)習(xí)

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

相關(guān)文章

  • C++實(shí)現(xiàn)圖的鄰接表存儲(chǔ)和廣度優(yōu)先遍歷實(shí)例分析

    C++實(shí)現(xiàn)圖的鄰接表存儲(chǔ)和廣度優(yōu)先遍歷實(shí)例分析

    這篇文章主要介紹了C++實(shí)現(xiàn)圖的鄰接表存儲(chǔ)和廣度優(yōu)先遍歷,實(shí)例分析了C++實(shí)現(xiàn)圖的存儲(chǔ)與遍歷技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • c語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)文件 r/w 操作方法

    c語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)文件 r/w 操作方法

    由于在 C 語(yǔ)言中 '\' 一般是轉(zhuǎn)義字符的起始標(biāo)志,故在路徑中需要用兩個(gè) '\' 表示路徑中目錄層次的間隔,也可以使用 '/' 作為路徑中的分隔符,本文重點(diǎn)給大家介紹用c語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)文件 r/w 操作方法,感興趣的朋友一起學(xué)習(xí)吧
    2021-05-05
  • C語(yǔ)言中的結(jié)構(gòu)體快排算法

    C語(yǔ)言中的結(jié)構(gòu)體快排算法

    這篇文章主要介紹了C語(yǔ)言中的結(jié)構(gòu)體快排算法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++報(bào)錯(cuò):Segmentation Fault的解決方案

    C++報(bào)錯(cuò):Segmentation Fault的解決方案

    段錯(cuò)誤(Segmentation Fault)是 C++ 編程中常見(jiàn)且令人頭疼的錯(cuò)誤之一,段錯(cuò)誤通常發(fā)生在程序試圖訪(fǎng)問(wèn)未被允許的內(nèi)存區(qū)域時(shí),導(dǎo)致程序崩潰,本文將深入探討段錯(cuò)誤的產(chǎn)生原因、檢測(cè)方法及其預(yù)防和解決方案,需要的朋友可以參考下
    2024-07-07
  • C++中Stack(棧)的使用方法與基本操作詳解

    C++中Stack(棧)的使用方法與基本操作詳解

    Stack是一種常見(jiàn)的數(shù)據(jù)結(jié)構(gòu),常常被用來(lái)解決遞歸問(wèn)題、括號(hào)匹配問(wèn)題、函數(shù)調(diào)用棧等等。本文將介紹C++中stack的使用方法及基本操作,需要的可以參考一下
    2023-05-05
  • c語(yǔ)言網(wǎng)絡(luò)編程-標(biāo)準(zhǔn)步驟(改進(jìn)版)

    c語(yǔ)言網(wǎng)絡(luò)編程-標(biāo)準(zhǔn)步驟(改進(jìn)版)

    這篇文章主要介紹了c語(yǔ)言網(wǎng)絡(luò)編程-標(biāo)準(zhǔn)步驟的改進(jìn)說(shuō)明,需要的朋友可以參考下
    2014-01-01
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單猜數(shù)字游戲

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單猜數(shù)字游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 超詳細(xì)VScode調(diào)試教程tasks.json和launch.json的設(shè)置

    超詳細(xì)VScode調(diào)試教程tasks.json和launch.json的設(shè)置

    vscode是一個(gè)輕量級(jí)的文本編輯器,但是它的擴(kuò)展插件可以讓他拓展成功能齊全的IDE,這其中就靠的是tasks.json和launch.json的配置,下面這篇文章主要給大家介紹了關(guān)于超詳細(xì)VScode調(diào)試教程tasks.json和launch.json設(shè)置的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • C語(yǔ)言實(shí)現(xiàn)二值圖像模擬灰值圖像顯示效果

    C語(yǔ)言實(shí)現(xiàn)二值圖像模擬灰值圖像顯示效果

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)二值圖像模擬灰值圖像顯示效果,分為圖案法、抖動(dòng)法兩個(gè)方法實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Qt數(shù)據(jù)庫(kù)應(yīng)用之實(shí)現(xiàn)數(shù)據(jù)打印到紙張

    Qt數(shù)據(jù)庫(kù)應(yīng)用之實(shí)現(xiàn)數(shù)據(jù)打印到紙張

    關(guān)于Qt打印內(nèi)容到紙張,網(wǎng)上的辦法非常多,比如有些直接用painter繪制,逐步控制分頁(yè)打印。本文介紹的方法則是將內(nèi)容作為html設(shè)置到文檔對(duì)象,再調(diào)用文檔對(duì)象的print方法傳入QPrinter對(duì)象打印,感興趣的同學(xué)可以了解一下
    2022-01-01

最新評(píng)論

海晏县| 应城市| 保定市| 甘德县| 通山县| 南华县| 乌什县| 攀枝花市| 南城县| 日照市| 响水县| 洪江市| 察雅县| 景德镇市| 沈丘县| 旬邑县| 十堰市| 黄浦区| 阳山县| 孟连| 玉林市| 准格尔旗| 咸宁市| 太湖县| 黎平县| 健康| 贵阳市| 南丹县| 日土县| 金平| 晴隆县| 汕头市| 山西省| 岱山县| 浙江省| 新余市| 乐至县| 凯里市| 丽江市| 靖宇县| 樟树市|