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

C++實現(xiàn)路口交通燈模擬系統(tǒng)

 更新時間:2022年03月22日 14:40:22   作者:KC-馮世傑  
這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)路口交通燈模擬系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

交通燈信號控制是交通工具現(xiàn)代化的產(chǎn)物,在平面交叉口,為了把可能發(fā)生沖突的車流從時空上分離,必須通過交通信號對交通流進(jìn)行有效的引導(dǎo)和調(diào)度。

設(shè)計要求:

(1)  設(shè)計一個十字路口的交通燈控制電路,要求南北方向和東西方向兩個交叉路口的車輛交替運行,每個方向綠燈亮30秒,兩個方向能根據(jù)車流量的大小自動調(diào)節(jié)通行時間,車流量大,通行時間增加30秒,車流量小,通行時間仍然是30秒。

(2)  在路燈轉(zhuǎn)為紅燈時,要求黃燈先亮3秒鐘,才能變換運行車道。

系統(tǒng)算法設(shè)計圖:

#include<iostream> ?
#include<windows.h> ?
using namespace std; ?
??
void way1(int a,int y); ? ? //交通燈的函數(shù)
void way2(int b);
?
int green1, green2; ? ?//定義交通燈的紅,黃,綠燈的變量和賦初值
int yellow1, yellow2;
int red1, red2;
int green[2] = {31,61};
int yellow = 4;
int red[3] = {34,64};
?
int main()
{
?? ?int car1, car2, car3, car4; ? ? //車輛數(shù)變量
?? ?int i = 0, j;
?? ?char d;
?? ?cout<<endl<<"***開始模擬智能交通燈系統(tǒng)***"<<endl<<endl;
?? ?while(1)
?? ?{
?? ??? ?cout<<"請設(shè)置東車道車輛數(shù):"; ? ? ?//設(shè)置車輛數(shù)
?? ??? ?cin>>car1;
?? ??? ?cout<<"請設(shè)置西車道車輛數(shù):";
?? ??? ?cin>>car2;
?? ??? ?cout<<"請設(shè)置北車道車輛數(shù):";
?? ??? ?cin>>car3;
?? ??? ?cout<<"請設(shè)置南車道車輛數(shù):";
?? ??? ?cin>>car4;
?? ??? ?cout<<endl<<endl;
?? ??? ?cout<<"******開始模擬******"<<endl;
?? ??? ?if((car1+car2)-(car3+car4)>10) ? ? //根據(jù)車輛數(shù)來選擇交通燈計時函數(shù)
?? ??? ?{
?? ??? ??? ?j = i+1;
?? ??? ??? ?way1(j, i);
?? ??? ?}
?? ??? ?else if(((car1+car2)-(car3+car4)>=0)&&((car1+car2)-(car3+car4)<=10))
?? ??? ?{
?? ??? ??? ?way2(i);
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?j = i+1;
?? ??? ??? ?way1(i, j);
?? ??? ?}
?? ??? ?cout<<"若想重新設(shè)置車輛數(shù)請按Y,若退出請按N。";
?? ??? ?cin>>d;
?? ??? ?if(d == 'Y'||d == 'y')
?? ??? ?{
?? ??? ??? ?cout<<endl;
?? ??? ??? ?continue;
?? ??? ?}
?? ??? ?else if(d == 'N'||d == 'n')
?? ??? ??? ?break;
?? ?}
?
?? ?return 0;
}
?
void way1(int a,int y)
{
?? ?green1=green[a]; ? ? ?//先給交通燈賦初值
?? ?green2=0;
?? ?yellow1=yellow2=0;
?? ?red1=0;
?? ?red2=red[a];
?? ?int c;
?? ?char d;
?? ?while(1) ? ? ?//東西車道的交通燈
?? ?{
?? ??? ?for(c=99;c>0;c--)
?? ??? ?{ ?
?? ??? ??? ?cout<<endl<<"------東西車道------"<<endl;?
?? ??? ??? ?if(green1>0)
?? ??? ??? ?{
?? ??? ??? ??? ?if(green1==green[a])
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?green1--;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?cout<<" ? >>> 綠燈 <<< "<<green1<<" 秒\n"; ?
?? ??? ??? ??? ??? ?green1--;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(green1==0) ?
?? ??? ??? ??? ??? ?yellow1=yellow; ?
?? ??? ??? ?} ?
?? ??? ??? ?if(yellow1>0) ?
?? ??? ??? ?{ ?
?? ??? ??? ??? ?if(yellow1==4) ?
?? ??? ??? ??? ??? ?yellow1--; ? ?
?? ??? ??? ??? ?else ?
?? ??? ??? ??? ?{ ?
?? ??? ??? ??? ??? ?cout<<" ? >>> 黃燈 <<< "<<yellow1<<" 秒\n"; ?
?? ??? ??? ??? ??? ?yellow1--; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ??? ?if(yellow1==0) ?
?? ??? ??? ??? ?{ ? ? ??
?? ??? ??? ??? ??? ?red1=red[y]; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ?} ?
?? ??? ??? ?if(red1>0) ?
?? ??? ??? ?{ ?
?? ??? ??? ??? ?if(red1==red[y]) ?
?? ??? ??? ??? ??? ?red1--; ?
?? ??? ??? ??? ?else ??
?? ??? ??? ??? ?{?
?? ??? ??? ??? ??? ?cout<<" ? >>> 紅燈 <<< "<<red1<<" 秒\n"; ?
?? ??? ??? ??? ??? ?red1--; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ??? ?if(red1==0) ?
?? ??? ??? ??? ?{ ?
?? ??? ??? ??? ??? ?green1=green[a]; ? ?
?? ??? ??? ??? ?} ?
?? ??? ??? ?}
?? ??? ??? ?/***********************************************************************************/
?? ??? ??? ?cout<<endl<<"------南北車道------"<<endl; ? ? ? ? ? ? ? ? ? //南北車道的交通燈
?? ??? ??? ?if(red2>0)
?? ??? ??? ?{
?? ??? ??? ??? ?if(red2==red[a])
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?red2--;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?cout<<" ? >>> 紅燈 <<< "<<red2<<" 秒\n"; ?
?? ??? ??? ??? ??? ?red2--;
?? ??? ??? ??? ?} ?
?? ??? ??? ??? ?if(red2==0) ?
?? ??? ??? ??? ??? ?green2=green[y]; ?
?? ??? ??? ?} ?
?? ??? ??? ?if(green2>0) ?
?? ??? ??? ?{ ?
?? ??? ??? ??? ?if(green2==green[y]) ?
?? ??? ??? ??? ??? ?green2--; ? ?
?? ??? ??? ??? ?else ?
?? ??? ??? ??? ?{ ?
?? ??? ??? ??? ??? ?cout<<" ? >>> 綠燈 <<< "<<green2<<" 秒\n"; ?
?? ??? ??? ??? ??? ?green2--; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ??? ?if(green2==0) ?
?? ??? ??? ??? ?{ ? ? ??
?? ??? ??? ??? ??? ?yellow2=yellow; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ?} ?
?? ??? ??? ?if(yellow2>0) ?
?? ??? ??? ?{ ?
?? ??? ??? ??? ?if(yellow2==4) ?
?? ??? ??? ??? ??? ?yellow2--; ?
?? ??? ??? ??? ?else ??
?? ??? ??? ??? ?{ ?
?? ??? ??? ??? ??? ?cout<<" ? >>> 黃燈 <<< "<<yellow2<<" 秒\n"; ?
?? ??? ??? ??? ??? ?yellow2--; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ??? ?if(yellow2==0) ?
?? ??? ??? ??? ?{ ?
?? ??? ??? ??? ??? ?red2=red[a]; ? ?
?? ??? ??? ??? ?} ?
?? ??? ??? ?} ?
?
?
?? ??? ??? ?Sleep(1000);
?? ??? ??? ?system("cls");
?? ??? ??? ?
?? ??? ?}
?? ??? ?cout<<"若想繼續(xù)請按C,若想返回上一級請按R。";
?? ??? ?cin>>d;
?? ??? ?if(d == 'C'||d == 'c')
?? ??? ?{
?? ??? ??? ?cout<<endl;
?? ??? ??? ?continue;
?? ??? ?}
?? ??? ?else if(d == 'R'||d == 'r')
?? ??? ?{
?? ??? ??? ?cout<<endl<<endl;
?? ??? ??? ?break;
?? ??? ?}
?? ?}
}
?
?
void way2(int b)
{
?? ?green1=green[b];
?? ?green2=0;
?? ?yellow1=yellow2=0;
?? ?red1=0;
?? ?red2=red[b];
?? ?int c;
?? ?char d;
?? ?while(1)
?? ?{
?? ??? ?for(c=69;c>0;c--)
?? ??? ?{ ?
?? ??? ??? ?cout<<endl<<"------東西車道------"<<endl;?
?? ??? ??? ?if(green1>0)
?? ??? ??? ?{
?? ??? ??? ??? ?if(green1==green[b])
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?green1--;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?cout<<" ? >>> 綠燈 <<< "<<green1<<" 秒"<<endl; ?
?? ??? ??? ??? ??? ?green1--;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(green1==0) ?
?? ??? ??? ??? ??? ?yellow1=yellow; ?
?? ??? ??? ?} ?
?? ??? ??? ?if(yellow1>0) ?
?? ??? ??? ?{?? ??
?? ??? ??? ??? ?if(yellow1==4) ?
?? ??? ??? ??? ??? ?yellow1--; ? ?
?? ??? ??? ??? ?else ?
?? ??? ??? ??? ?{ ?
?? ??? ??? ??? ??? ?cout<<" ? >>> 黃燈 <<< "<<yellow1<<" 秒"<<endl; ?
?? ??? ??? ??? ??? ?yellow1--; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ??? ?if(yellow1==0) ?
?? ??? ??? ??? ?{ ? ? ??
?? ??? ??? ??? ??? ?red1=red[b]; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ?} ?
?? ??? ??? ?if(red1>0) ?
?? ??? ??? ?{ ?
?? ??? ??? ??? ?if(red1==red[b]) ?
?? ??? ??? ??? ??? ?red1--; ?
?? ??? ??? ??? ?else ??
?? ??? ??? ??? ?{?
?? ??? ??? ??? ??? ?cout<<" ? >>> 紅燈 <<< "<<red1<<" 秒"<<endl; ?
?? ??? ??? ??? ??? ?red1--; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ??? ?if(red1==0) ?
?? ??? ??? ??? ?{ ?
?? ??? ??? ??? ??? ?green1=green[b]; ? ?
?? ??? ??? ??? ?}?? ?
?? ??? ??? ?}
?? ??? ??? ?/***********************************************************************************/
?? ??? ??? ?cout<<endl<<"------南北車道------"<<endl;?
?? ??? ??? ?if(red2>0)
?? ??? ??? ?{
?? ??? ??? ??? ?if(red2==red[b])
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?red2--;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?cout<<" ? >>> 紅燈 <<< "<<red2<<" 秒"<<endl; ?
?? ??? ??? ??? ??? ?red2--;
?? ??? ??? ??? ?} ?
?? ??? ??? ??? ?if(red2==0) ?
?? ??? ??? ??? ??? ?green2=green[b]; ?
?? ??? ??? ?} ?
?? ??? ??? ?if(green2>0) ?
?? ??? ??? ?{ ?
?? ??? ??? ??? ?if(green2==green[b]) ?
?? ??? ??? ??? ??? ?green2--; ? ?
?? ??? ??? ??? ?else ?
?? ??? ??? ??? ?{ ?
?? ??? ??? ??? ??? ?cout<<" ? >>> 綠燈 <<< "<<green2<<" 秒"<<endl; ?
?? ??? ??? ??? ??? ?green2--; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ??? ?if(green2==0) ?
?? ??? ??? ??? ?{ ? ? ??
?? ??? ??? ??? ??? ?yellow2=yellow; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ?} ?
?? ??? ??? ?if(yellow2>0) ?
?? ??? ??? ?{ ?
?? ??? ??? ??? ?if(yellow2==4) ?
?? ??? ??? ??? ??? ?yellow2--; ?
?? ??? ??? ??? ?else ??
?? ??? ??? ??? ?{ ?
?? ??? ??? ??? ??? ?cout<<" ? >>> 黃燈 <<< "<<yellow2<<" 秒"<<endl; ?
?? ??? ??? ??? ??? ?yellow2--; ?
?? ??? ??? ??? ?} ?
?? ??? ??? ??? ?if(yellow2==0) ?
?? ??? ??? ??? ?{ ?
?? ??? ??? ??? ??? ?red2=red[b]; ? ?
?? ??? ??? ??? ?}?? ?
?? ??? ??? ?} ?
?
?
?? ??? ??? ?Sleep(1000);
?? ??? ??? ?system("cls");
?? ??? ??? ?
?? ??? ?}
?? ??? ?cout<<"若想繼續(xù)請按C,若想返回上一級請按R。";
?? ??? ?cin>>d;
?? ??? ?if(d == 'C'||d == 'c')
?? ??? ?{
?? ??? ??? ?cout<<endl;
?? ??? ??? ?continue;
?? ??? ?}
?? ??? ?else if(d == 'R'||d == 'r')
?? ??? ?{
?? ??? ??? ?cout<<endl<<endl;
?? ??? ??? ?break;
?? ??? ?}
?? ?}
}

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

相關(guān)文章

  • C語言使用stdlib.h庫函數(shù)的二分查找和快速排序的實現(xiàn)代碼

    C語言使用stdlib.h庫函數(shù)的二分查找和快速排序的實現(xiàn)代碼

    以下是對C語言使用stdlib.h庫函數(shù)的二分查找和快速排序的實現(xiàn)代碼進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下。希望對大家有所幫助
    2013-10-10
  • C++ Boost MultiIndex使用詳細(xì)介紹

    C++ Boost MultiIndex使用詳細(xì)介紹

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱
    2022-11-11
  • C++中String類型的逆序方式

    C++中String類型的逆序方式

    這篇文章主要介紹了C++中String類型的逆序方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 詳解C++之C++11的牛逼特性

    詳解C++之C++11的牛逼特性

    這篇文章主要介紹了C++之C++11的牛逼特性,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • C++深入探究類與對象之對象模型與this指針使用方法

    C++深入探究類與對象之對象模型與this指針使用方法

    C++對象模型中只有類的非static成員以及一個指向虛函數(shù)表的指針被配置于類對象內(nèi),其他都在類對象外,在 C++ 中,每一個對象都能通過 this 指針來訪問自己的地址。this 指針是所有成員函數(shù)的隱含參數(shù)。因此,在成員函數(shù)內(nèi)部,它可以用來指向調(diào)用對象
    2022-04-04
  • 關(guān)于define與C 的內(nèi)存

    關(guān)于define與C 的內(nèi)存

    本文主要介紹了C語言中#define到底存在程序的哪個區(qū),以及工作流程和效率與普通函數(shù)的區(qū)別,希望能幫助需要的小伙伴
    2016-07-07
  • C語言鏈表實現(xiàn)銷售管理系統(tǒng)

    C語言鏈表實現(xiàn)銷售管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言鏈表實現(xiàn)銷售管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C++中形參和實參的區(qū)別及說明

    C++中形參和實參的區(qū)別及說明

    這篇文章主要介紹了C++中形參和實參的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 一篇文章帶你了解C語言函數(shù)遞歸

    一篇文章帶你了解C語言函數(shù)遞歸

    這篇文章主要為大家詳細(xì)介紹了C語言函數(shù)遞歸,使用數(shù)據(jù)庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C++實現(xiàn)LeetCode(159.最多有兩個不同字符的最長子串)

    C++實現(xiàn)LeetCode(159.最多有兩個不同字符的最長子串)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(159.最多有兩個不同字符的最長子串),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評論

洪雅县| 体育| 扶风县| 岱山县| 焦作市| 石门县| 莒南县| 青州市| 京山县| 平阴县| 太保市| 泾源县| 思茅市| 开封市| 西和县| 凉城县| 玛纳斯县| 鱼台县| 思茅市| 平顶山市| 卢氏县| 石门县| 桃园县| 百色市| 阿坝县| 鄢陵县| 盐池县| 黄山市| 安龙县| 浑源县| 丰都县| 高碑店市| 拉孜县| 都江堰市| 湘阴县| 资溪县| 汉阴县| 山西省| 乳山市| 会宁县| 潍坊市|