亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 電梯管理 程序.cpp

?? 電梯管理 程序.rar 電梯管理 程序.rar
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
//電梯管理程序
#include <windows.h>
#include <iostream.h>
#include <stdio.h>
#define max_persons 15
bool operation_state=1;			//控制電梯是否運行	
	
struct floors					//樓層狀態
{bool up;						//樓層的“上”按鈕狀態
 bool down;						//樓層的“下”按鈕狀態
 int up_persons;				//在該樓層等待上樓的人數
 int down_persons;				//在該樓層等待下樓的人數
}floor[12];


struct lift_state				//電梯狀態
{int stay_in_floor;             //電梯所在的樓層
 bool up;						//電梯的運動狀態
 bool down;						//電梯的運動狀態
 bool stay;						//電梯的運動狀態
 int all_persons;				//電梯內的總人數
 int out_persons[12];			//電梯內的人準備在各層出去的人數
 bool inbutton_state[12];		//電梯內的按鈕狀態
}lift1={0,0,0,1,0};
lift_state lift2={0,0,0,1,0};

DWORD id1,id2,id3;
HANDLE hbutton,hprint,hprint2;

DWORD WINAPI print(PVOID);
DWORD WINAPI button(PVOID);
DWORD WINAPI print2(PVOID);



void main(void)					//主函數
{int i;	
 //初始化電梯狀態
 for (i=0;i<12;i++)
 {lift1.inbutton_state[i]=0;
  lift1.out_persons[i]=0;
  lift2.inbutton_state[i]=0;
  lift2.out_persons[i]=0;
 }
 //初始化樓層狀態
 for (i=0;i<12;i++)
 {floor[i].up=0;
  floor[i].down=0;
  floor[i].up_persons=0;
  floor[i].down_persons=0;
 }
  hprint2=CreateThread(NULL,0,print2,0,0,&id3);			//創建管理輸出的線程
  hprint=CreateThread(NULL,0,print,0,0,&id2);			//創建管理輸出的線程
  hbutton=CreateThread(NULL,0,button,0,0,&id1);			//創建管理各種按鈕的線程
  while (operation_state)
	  ;
}


//實現管理各種按鈕的函數
DWORD WINAPI button(PVOID PARAM)
	{char ch;
	 while (operation_state)
	 {
	  ch=getchar();
	 SuspendThread(hprint);		 //掛起print線程
	 SuspendThread(hprint2);	//掛起print2線程
	  switch (ch)
	  {   case '`': floor[0].up=1;cout<<"請輸入在地下2層等待上樓的人數:"<<endl;cin>>floor[0].up_persons;break;
	      case '1': floor[1].up=1;cout<<"請輸入在地下1層等待上樓的人數:"<<endl;cin>>floor[1].up_persons;break;
	      case '2':floor[1].down=1;cout<<"請輸入在地下1層等待下樓的人數:"<<endl;cin>>floor[1].down_persons;break;
	      case '3':floor[2].up=1;cout<<"請輸入在第0層等待上樓的人數:"<<endl;cin>>floor[2].up_persons;break;
	      case '4':floor[2].down=1;cout<<"請輸入在第0層等待下樓的人數:"<<endl;cin>>floor[2].down_persons;break;
		  case '5':floor[3].up=1;cout<<"請輸入在第1層等待上樓的人數:"<<endl;cin>>floor[3].up_persons;break;
		  case '6':floor[3].down=1;cout<<"請輸入在第1層等待下樓的人數:"<<endl;cin>>floor[3].down_persons;break;
		  case '7':floor[4].up=1;cout<<"請輸入在第2層等待上樓的人數:"<<endl;cin>>floor[4].up_persons;break;
		  case '8':floor[4].down=1;cout<<"請輸入在第2層等待下樓梯的人數:"<<endl;cin>>floor[4].down_persons;break;
		  case '9':floor[5].up=1;cout<<"請輸入在第3層等待上樓的人數:"<<endl;cin>>floor[5].up_persons;break;
		  case '0':floor[5].down=1;cout<<"請輸入在第3層等待下樓的人數:"<<endl;cin>>floor[5].down_persons;break;
		  case '-':floor[6].up=1;cout<<"請輸入在第4層等待上樓的人數:"<<endl;cin>>floor[6].up_persons;break;
		  case '=':floor[6].down=1;cout<<"請輸入在第4層等待下樓的人數:"<<endl;cin>>floor[6].down_persons;break;
		  case '\\':floor[7].up=1;cout<<"請輸入在第5層等待上樓的人數:"<<endl;cin>>floor[7].up_persons;break;
		  case 'q':floor[7].down=1;cout<<"請輸入在第5層等待下樓的人數:"<<endl;cin>>floor[7].down_persons;break;
		  case 'w':floor[8].up=1;cout<<"請輸入在第6層等待上樓的人數:"<<endl;cin>>floor[8].up_persons;break;
		  case 'e':floor[8].down=1;cout<<"請輸入在第6層等待下樓的人數:"<<endl;cin>>floor[8].down_persons;break;
		  case 'r':floor[9].up=1;cout<<"請輸入在第7層等待上樓的人數:"<<endl;cin>>floor[9].up_persons;break;
		  case 't':floor[9].down=1;cout<<"請輸入在第7層等待下樓的人數:"<<endl;cin>>floor[9].down_persons;break;
		  case 'y':floor[10].up=1;cout<<"請輸入在第8層等待上樓的人數:"<<endl;cin>>floor[10].up_persons;break;
		  case 'u':floor[10].down=1;cout<<"請輸入在第8層等待下樓的人數:"<<endl;cin>>floor[10].down_persons;break;
		  case 'i':floor[11].down=1;cout<<"請輸入在第9層等待下樓的人數:"<<endl;cin>>floor[11].down_persons;break;
		  case 'a':lift1.inbutton_state[0]=1;cout<<"請輸入電梯內1的人準備在地下2層出去的人數:"<<endl;cin>>lift1.out_persons[0];break;
		  case 's':lift1.inbutton_state[1]=1;cout<<"請輸入電梯內1的人準備在地下1層出去的人數:"<<endl;cin>>lift1.out_persons[1];break;
		  case 'd':lift1.inbutton_state[2]=1;cout<<"請輸入電梯內1的人準備在第0層出去的人數:"<<endl;cin>>lift1.out_persons[2];break;
		  case 'f':lift1.inbutton_state[3]=1;cout<<"請輸入電梯內1的人準備在第1層出去的人數:"<<endl;cin>>lift1.out_persons[3];break;
		  case 'g':lift1.inbutton_state[4]=1;cout<<"請輸入電梯內1的人準備在第2層出去的人數:"<<endl;cin>>lift1.out_persons[4];break;
		  case 'h':lift1.inbutton_state[5]=1;cout<<"請輸入電梯內1的人準備在第3層出去的人數:"<<endl;cin>>lift1.out_persons[5];break;
		  case 'j':lift1.inbutton_state[6]=1;cout<<"請輸入電梯內1的人準備在第4層出去的人數:"<<endl;cin>>lift1.out_persons[6];break;
		  case 'k':lift1.inbutton_state[7]=1;cout<<"請輸入電梯內1的人準備在第5層出去的人數:"<<endl;cin>>lift1.out_persons[7];break;
		  case 'l':lift1.inbutton_state[8]=1;cout<<"請輸入電梯內1的人準備在第6層出去的人數:"<<endl;cin>>lift1.out_persons[8];break;
		  case ';':lift1.inbutton_state[9]=1;cout<<"請輸入電梯內1的人準備在第7層出去的人數:"<<endl;cin>>lift1.out_persons[9];break;
		  case '\'':lift1.inbutton_state[10]=1;cout<<"請輸入電梯內1的人準備在第8層出去的人數:"<<endl;cin>>lift1.out_persons[10];break;
		  case 'z':lift1.inbutton_state[11]=1;cout<<"請輸入電梯內1的人準備在第9層出去的人數:"<<endl;cin>>lift1.out_persons[11];break;
		  case 'A':lift2.inbutton_state[0]=1;cout<<"請輸入電梯內2的人準備在地下2層出去的人數:"<<endl;cin>>lift2.out_persons[0];break;
		  case 'S':lift2.inbutton_state[1]=1;cout<<"請輸入電梯內2的人準備在地下1層出去的人數:"<<endl;cin>>lift2.out_persons[1];break;
		  case 'D':lift2.inbutton_state[2]=1;cout<<"請輸入電梯內2的人準備在第0層出去的人數:"<<endl;cin>>lift2.out_persons[2];break;
		  case 'F':lift2.inbutton_state[3]=1;cout<<"請輸入電梯內2的人準備在第1層出去的人數:"<<endl;cin>>lift2.out_persons[3];break;
		  case 'G':lift2.inbutton_state[4]=1;cout<<"請輸入電梯內2的人準備在第2層出去的人數:"<<endl;cin>>lift2.out_persons[4];break;
		  case 'H':lift2.inbutton_state[5]=1;cout<<"請輸入電梯內2的人準備在第3層出去的人數:"<<endl;cin>>lift2.out_persons[5];break;
		  case 'J':lift2.inbutton_state[6]=1;cout<<"請輸入電梯內2的人準備在第4層出去的人數:"<<endl;cin>>lift2.out_persons[6];break;
		  case 'K':lift2.inbutton_state[7]=1;cout<<"請輸入電梯內2的人準備在第5層出去的人數:"<<endl;cin>>lift2.out_persons[7];break;
		  case 'L':lift2.inbutton_state[8]=1;cout<<"請輸入電梯內2的人準備在第6層出去的人數:"<<endl;cin>>lift2.out_persons[8];break;
		  case ':':lift2.inbutton_state[9]=1;cout<<"請輸入電梯內2的人準備在第7層出去的人數:"<<endl;cin>>lift2.out_persons[9];break;
		  case '"':lift2.inbutton_state[10]=1;cout<<"請輸入電梯內2的人準備在第8層出去的人數:"<<endl;cin>>lift2.out_persons[10];break;
		  case 'Z':lift2.inbutton_state[11]=1;cout<<"請輸入電梯內2的人準備在第9層出去的人數:"<<endl;cin>>lift2.out_persons[11];break;
		  case 'x':operation_state=0;break;
	  }
	  ResumeThread(hprint);		 //恢復print線程
	  ResumeThread(hprint2);	 //恢復print2線程
	 }
	 return 0;
	}


//用于輸出電梯1的線程
DWORD WINAPI print(PVOID PARAM2)
{int t_inperson=0,t_outperson=0;	//用于臨時存放電梯狀態
 bool flag1,flag2,flag3,flag4,flag5,flag6,flag7,flag8,flag9,flag10,flag11,flag12,flag13,flag14,flag15,flag16,flag17,flag18,flag_up,flag_stay,flag_down;
 bool in_high=0,in_low=0,out_high=0,between=0,high_down=0,between_near=0,between_up=0,high=0,low=0,between_down=0,low_up=0,out_low=0;
 int i,t_high_floor,t_low_floor;
	while (operation_state)		//用于輸出電梯狀態的死循環
  {
	  Sleep(2500);				//先讓print線程睡眠2.5秒,這樣在這段時間里電梯能響應電梯內、外的按鈕
	  in_high=0;
	  out_high=0;
      for (i=lift1.stay_in_floor+3;i<=11;i++)
	  {
		  in_high=in_high || lift1.inbutton_state[i];
		  out_high=out_high || floor[i].up || floor[i].down;
	  }
	  in_low=0;
	  for (i=lift1.stay_in_floor+1;i>=0;i--)
		  in_low=in_low || lift1.inbutton_state[i];
	  t_high_floor=(lift1.stay_in_floor>lift2.stay_in_floor)? lift1.stay_in_floor:lift2.stay_in_floor;
	  t_low_floor=(lift1.stay_in_floor<lift2.stay_in_floor)? lift1.stay_in_floor:lift2.stay_in_floor;
	  between=0;
	  for (i=t_low_floor+3;i<t_high_floor+2;i++)
		  between=between || floor[i].up || floor[i].down;
	  high_down=0;
	  for (i=lift2.stay_in_floor+3;i<=11;i++)
	      high_down=high_down || floor[i].down;
	  between_near=0;
	  for (i=t_low_floor+3;i<=t_low_floor+(t_high_floor-t_low_floor)/2+2;i++)
		  between_near=between_near || floor[i].up || floor[i].down;
	  between_up=0;
      for (i=t_low_floor+3;i<t_high_floor+2;i++)
		  between_up=between_up || floor[i].up;
	  high=0;
	  for (i=lift2.stay_in_floor+3;i<=11;i++)
		  high=high || floor[i].up || floor[i].down;
	  between_down=0;
	  for (i=t_low_floor+3;i<=t_high_floor+2;i++)
		  between_down=between_down || floor[i].down;
	  low_up=0;
      for (i=lift2.stay_in_floor+1;i>=0;i--)
		  low_up=low_up || floor[i].up;
	  out_low=0;
	  for (i=0;i<lift1.stay_in_floor+2;i++)
		  out_low=out_low || floor[i].up || floor[i].down;
	  low=0;
      for (i=lift2.stay_in_floor+1;i>=0;i--)
		  low=low || floor[i].up || floor[i].down; 
	  if (lift1.up)	
	  {
		  if (lift1.stay_in_floor<9)
		     lift1.stay_in_floor++;			//更新電梯所在的樓層
		  floor[lift1.stay_in_floor+2].up=0;	//更新電梯外的“上”按鈕狀態
		  lift1.inbutton_state[lift1.stay_in_floor+2]=0;//更新電梯內該層按鈕狀態
		  flag1=in_high;
		  flag2=!flag1&(lift1.stay_in_floor>lift2.stay_in_floor)&out_high; 
		  flag3=!flag1&(lift1.stay_in_floor==lift2.stay_in_floor)&out_high&(lift2.down || lift2.stay);
		  flag4=!flag1&(lift1.stay_in_floor<lift2.stay_in_floor)&lift2.up&between;
		  flag5=!flag1&(lift1.stay_in_floor<lift2.stay_in_floor)&lift2.up&high_down;
		  flag6=!flag1&(lift1.stay_in_floor<lift2.stay_in_floor)&lift2.stay&between_near;
		  flag7=!flag1&(lift1.stay_in_floor<lift2.stay_in_floor)&lift2.down&between_up;
		  flag8=!flag1&(lift1.stay_in_floor<lift2.stay_in_floor)&lift2.down&high;
		  flag_up=flag1 || flag2 ||flag3 ||flag4 ||flag5 ||flag6 ||flag7 ||flag8;
		  if (flag_up)
		  {
			   lift1.all_persons=lift1.all_persons-lift1.out_persons[lift1.stay_in_floor+2]+floor[lift1.stay_in_floor+2].up_persons;//更新電梯1內的總人數
			   t_inperson=floor[lift1.stay_in_floor+2].up_persons;
			   floor[lift1.stay_in_floor+2].up_persons=0;	//更新在該層樓等待進入電梯的人數
			   t_outperson=lift1.out_persons[lift1.stay_in_floor+2];	
			   lift1.out_persons[lift1.stay_in_floor+2]=0;	//更新在該層樓出去電梯的人數
		  }
		  else if (!flag_up)
		  {
			  flag9=!flag1&(lift1.stay_in_floor>lift2.stay_in_floor)&lift2.up&!out_high&!between_down;
			  flag10=!flag1&(lift1.stay_in_floor>lift2.stay_in_floor)&lift2.stay&!out_high&!between_near;
			  flag11=!flag1&(lift1.stay_in_floor>lift2.stay_in_floor)&lift2.down&!out_high&!between&!low_up;
			  flag12=!flag1&(lift1.stay_in_floor==lift2.stay_in_floor)&lift2.up&!out_low;
			  flag13=!flag1&(lift1.stay_in_floor==lift2.stay_in_floor)&lift2.stay&!out_low&!out_high;
			  flag14=!flag1&(lift1.stay_in_floor==lift2.stay_in_floor)&lift2.down&!out_high;
			  flag15=!flag1&(lift1.stay_in_floor<lift2.stay_in_floor)&lift2.up&!out_low&!between&!high_down;
			  flag16=!flag1&(lift1.stay_in_floor<lift2.stay_in_floor)&lift2.stay&!out_low&!between_near&!high_down;
			  flag17=!flag1&(lift1.stay_in_floor<lift2.stay_in_floor)&lift2.down&!out_low&!between_up&!high;
			  flag_stay=flag9 || flag10 || flag11 || flag12 || flag13 || flag14 || flag15 || flag16 || flag17;
			  if (flag_stay)
			  {
				   lift1.all_persons=lift1.all_persons-lift1.out_persons[lift1.stay_in_floor+2];//更新電梯1內的總人數
			       t_outperson=lift1.out_persons[lift1.stay_in_floor+2];	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
床上的激情91.| 91免费观看国产| 欧美一级日韩一级| 亚洲国产精品一区二区久久| 99精品热视频| 最新中文字幕一区二区三区 | 国产精品丝袜久久久久久app| 美国一区二区三区在线播放| 欧美男人的天堂一二区| 亚洲一区二区三区爽爽爽爽爽| 91在线精品一区二区| 国产精品乱人伦| youjizz国产精品| 国产精品国产三级国产aⅴ原创 | 日韩午夜三级在线| 麻豆精品久久精品色综合| 欧美一级黄色录像| 蜜臀久久99精品久久久久久9| 91精品国产欧美一区二区18 | 一区二区三区在线看| 26uuu精品一区二区三区四区在线| 国产精品毛片久久久久久久| 成人一区二区三区| 中文字幕欧美一| 欧美日韩一区二区三区四区| 亚洲在线一区二区三区| 欧美日韩www| 麻豆一区二区三| 2021久久国产精品不只是精品| 欧美日韩视频不卡| 首页亚洲欧美制服丝腿| 91视频在线看| 日韩和的一区二区| 久久久久国产一区二区三区四区 | 亚洲人成伊人成综合网小说| 91.xcao| 国产一区二区导航在线播放| 亚洲欧洲99久久| 91精品国产综合久久精品app| 国产成人自拍网| 亚洲福中文字幕伊人影院| 久久夜色精品国产噜噜av| 色综合久久六月婷婷中文字幕| 蜜桃av噜噜一区| 亚洲美女区一区| 亚洲精品一线二线三线| 91免费在线播放| 久久福利视频一区二区| 亚洲美女视频一区| 国产视频一区二区在线观看| 在线视频中文字幕一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 一区二区三区精密机械公司| 久久综合色天天久久综合图片| 一本大道久久a久久综合婷婷| 精品一区二区三区在线视频| 亚洲欧美日韩电影| 国产亚洲欧美中文| 欧美一区二区久久| 色妹子一区二区| 国产成人综合亚洲网站| 午夜av一区二区| 成人欧美一区二区三区视频网页| 精品久久久久99| 欧美猛男超大videosgay| 成人免费高清视频在线观看| 免费欧美日韩国产三级电影| 一区二区三区国产豹纹内裤在线 | 日韩伦理电影网| 精品国产伦理网| 欧美日韩免费在线视频| 成人app在线观看| 国产麻豆精品视频| 奇米色777欧美一区二区| 亚洲黄色免费网站| 日韩一区欧美一区| 国产农村妇女精品| 精品久久人人做人人爽| 欧美精品aⅴ在线视频| 91福利精品视频| 不卡的看片网站| 国产福利一区二区| 经典三级视频一区| 日韩高清在线观看| 五月激情综合网| 亚洲尤物视频在线| 一区二区三区色| 成人欧美一区二区三区1314| 久热成人在线视频| 美女久久久精品| 水蜜桃久久夜色精品一区的特点| 亚洲国产中文字幕在线视频综合| 最新中文字幕一区二区三区 | 国产色婷婷亚洲99精品小说| 欧美mv日韩mv国产网站app| 欧美一区二区三区在线观看| 欧美日韩欧美一区二区| 欧美吞精做爰啪啪高潮| 色婷婷国产精品久久包臀| a4yy欧美一区二区三区| 不卡的电影网站| 99久久99精品久久久久久| 成人性生交大片免费看视频在线 | 欧美女孩性生活视频| 欧美婷婷六月丁香综合色| 在线影院国内精品| 在线看日本不卡| 欧美日韩色综合| 欧美美女网站色| 91精品欧美一区二区三区综合在 | 韩国三级在线一区| 国内精品国产成人国产三级粉色 | 国产成人综合在线观看| 国产成人免费xxxxxxxx| 高清国产一区二区| 成人高清伦理免费影院在线观看| 成人免费视频视频在线观看免费 | 伊人色综合久久天天人手人婷| 亚洲欧美福利一区二区| 亚洲免费av在线| 亚洲成a人v欧美综合天堂下载| 亚洲成a人v欧美综合天堂下载 | 国产精品热久久久久夜色精品三区| 日本一区二区免费在线观看视频 | 欧美a一区二区| 久久国产成人午夜av影院| 激情五月婷婷综合| 成人一区二区三区视频 | 日韩美女视频在线| 久久一区二区视频| 中文子幕无线码一区tr| 1000部国产精品成人观看| 亚洲精品ww久久久久久p站| 亚洲午夜免费电影| 日日夜夜免费精品视频| 狠狠色2019综合网| 久久久国产精品麻豆 | 国产欧美一区二区精品久导航| 中文子幕无线码一区tr| 亚洲欧美另类久久久精品2019| 午夜视频久久久久久| 美女www一区二区| 国产福利91精品一区二区三区| 粉嫩久久99精品久久久久久夜| 99视频精品全部免费在线| 欧美三级视频在线播放| 欧美成人a∨高清免费观看| 欧美激情一区不卡| 一区二区激情视频| 男女视频一区二区| 丰满白嫩尤物一区二区| 欧洲一区在线观看| 精品对白一区国产伦| 欧美国产精品一区二区三区| 日韩理论电影院| 日韩精品一二区| 国产成人午夜高潮毛片| 欧美优质美女网站| 精品久久五月天| 亚洲精品国产无天堂网2021| 日本三级韩国三级欧美三级| 国产成人免费xxxxxxxx| 欧美视频一区二区三区在线观看 | 日韩一区二区电影网| 国产欧美日韩综合精品一区二区| 亚洲柠檬福利资源导航| 久久精品久久久精品美女| 99久久99久久精品免费观看 | 中文字幕亚洲精品在线观看| 性久久久久久久久久久久| 国内精品写真在线观看| 色国产综合视频| 精品国产亚洲在线| 一区二区三区四区在线免费观看| 精品一区二区三区久久久| 色综合天天在线| 欧美精品一区二区在线观看| 亚洲欧美另类久久久精品| 激情五月激情综合网| 欧美三级电影在线看| 国产精品丝袜一区| 六月丁香婷婷久久| 欧美午夜精品久久久久久超碰| 久久九九影视网| 水蜜桃久久夜色精品一区的特点| 不卡视频一二三四| www国产亚洲精品久久麻豆| 一区二区三区欧美| 成人丝袜视频网| 精品国产sm最大网站免费看| 亚洲精品成人悠悠色影视| 国产成人精品亚洲777人妖| 欧美一区二区成人| 亚洲黄色尤物视频| 成人美女视频在线看| 日韩欧美激情一区| 亚洲国产成人va在线观看天堂| 成人免费毛片嘿嘿连载视频| 日韩精品一区在线| 亚洲电影视频在线|