亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
99精品偷自拍| 国产精选一区二区三区 | 99精品欧美一区二区三区小说| 欧美精品亚洲二区| 亚洲九九爱视频| 成人一区二区三区| 国产视频一区在线播放| 久久国产精品99精品国产| 欧美三级资源在线| 午夜免费欧美电影| 欧美日韩欧美一区二区| 亚洲国产成人高清精品| 欧美日韩一级视频| 亚洲va欧美va人人爽午夜| 欧美日韩一级片网站| 午夜欧美大尺度福利影院在线看| 欧美吞精做爰啪啪高潮| 五月天欧美精品| 日韩欧美在线观看一区二区三区| 日韩国产欧美在线视频| 欧美丰满少妇xxxxx高潮对白 | 国产欧美一区二区三区在线看蜜臀| 国内外成人在线| 国产精品久久久久一区二区三区 | 日韩经典中文字幕一区| 日韩一区二区免费在线观看| 国产毛片精品一区| 亚洲视频1区2区| 欧美精品一卡两卡| 国产精品一区二区三区网站| 国产精品免费视频观看| 欧美日韩精品福利| 国产精品亚洲成人| 亚洲精品中文字幕在线观看| 91福利在线看| 日韩av在线发布| 久久免费看少妇高潮| 欧美巨大另类极品videosbest| 国产精品午夜免费| 欧美日韩三级在线| 国产精品一区二区视频| 亚洲欧美色图小说| 精品免费一区二区三区| 99精品欧美一区二区蜜桃免费| 日韩高清欧美激情| 国产精品久久久久精k8 | 不卡av在线免费观看| 亚洲va在线va天堂| 国产精品国产自产拍高清av| 3d动漫精品啪啪1区2区免费| a级高清视频欧美日韩| 国产一区二区三区在线观看免费| 亚洲一区二区三区爽爽爽爽爽| 国产欧美精品一区二区三区四区 | 91亚洲资源网| 国产一区二区女| 蜜臀av一级做a爰片久久| 亚洲午夜免费电影| 亚洲日本一区二区三区| 久久久不卡网国产精品二区| 日韩一区二区免费高清| 欧美精品日韩一区| 欧美日韩精品一区二区天天拍小说| 成人午夜激情片| 成人黄色软件下载| 99久久国产综合色|国产精品| 国产真实乱偷精品视频免| 日本不卡中文字幕| 三级不卡在线观看| 日韩电影免费一区| 青青草一区二区三区| 欧美aa在线视频| 欧美丰满少妇xxxxx高潮对白| 国产一二三精品| 粉嫩嫩av羞羞动漫久久久| 粉嫩aⅴ一区二区三区四区| 国产99精品在线观看| 成人国产在线观看| voyeur盗摄精品| 欧日韩精品视频| 91精品欧美综合在线观看最新| 欧美日韩精品三区| 精品国产一区二区三区忘忧草| 精品sm在线观看| 自拍偷拍亚洲激情| 视频一区中文字幕国产| 黄色日韩网站视频| heyzo一本久久综合| 欧美视频一区二区三区四区| 日韩欧美一级二级三级| 久久精品人人爽人人爽| 伊人色综合久久天天| 日本视频一区二区| 成人动漫av在线| 7777精品伊人久久久大香线蕉超级流畅| 欧美一区日韩一区| 欧美高清在线一区二区| 亚洲午夜久久久久久久久电影网| 久久精品国产99久久6| 99久久99久久久精品齐齐| 69av一区二区三区| 136国产福利精品导航| 久久国产精品一区二区| 91麻豆国产香蕉久久精品| 精品国产网站在线观看| 亚洲午夜久久久久久久久电影院| 国产专区综合网| 欧美猛男gaygay网站| 国产精品久久夜| 久久97超碰国产精品超碰| 在线观看一区二区视频| 久久美女艺术照精彩视频福利播放 | 久久99国产精品免费网站| 欧美日韩国产一二三| 国产精品国产成人国产三级| 黑人巨大精品欧美黑白配亚洲| 欧美主播一区二区三区| 国产一区二区三区四 | 国产精品久久久久影院色老大| 老司机精品视频导航| 欧美精品高清视频| 最新久久zyz资源站| 国产成人自拍网| 精品国产一区二区三区久久久蜜月 | 亚洲精品视频一区二区| 国产不卡视频在线播放| 国产人成一区二区三区影院| 狠狠狠色丁香婷婷综合激情| 久久综合九色综合97婷婷| 黄色精品一二区| 国产日韩成人精品| 成人国产精品免费观看动漫| 欧美—级在线免费片| 99re成人精品视频| 国产精品白丝在线| 91在线观看高清| 亚洲综合免费观看高清完整版| 在线观看一区日韩| 免费黄网站欧美| 精品1区2区在线观看| 成人精品在线视频观看| 亚洲天堂2014| 88在线观看91蜜桃国自产| 久久国内精品自在自线400部| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲综合激情另类小说区| 欧美写真视频网站| 激情久久五月天| 亚洲精品中文在线| 91精品国产乱| www.欧美色图| 日本视频中文字幕一区二区三区| 国产午夜久久久久| 91激情五月电影| 国产呦萝稀缺另类资源| 亚洲天堂久久久久久久| 精品久久久久久久久久久久包黑料| 国产传媒欧美日韩成人| 国产精品欧美综合在线| 成人精品国产福利| 久久精品国产亚洲5555| 亚洲精品日韩一| 六月丁香婷婷久久| 久久久国产精华| 欧美一级电影网站| 一本色道综合亚洲| 国产成人免费视频| 美脚の诱脚舐め脚责91 | 欧美精品一区二区三区四区 | 国模一区二区三区白浆| 亚洲曰韩产成在线| 国产精品乱人伦中文| 精品免费视频.| 日韩欧美一区中文| 51精品秘密在线观看| 欧洲一区在线电影| 成人aa视频在线观看| 久久99国产精品久久| 美女视频一区二区三区| 五月激情综合网| 亚洲成av人影院| 亚洲一区在线视频| 亚洲黄色小视频| 亚洲欧美aⅴ...| 亚洲日本韩国一区| 亚洲欧洲av色图| 日韩理论片中文av| 亚洲图片欧美激情| 亚洲免费观看视频| 亚洲女人****多毛耸耸8| 亚洲欧洲美洲综合色网| 亚洲色图清纯唯美| 亚洲欧美日韩电影| 亚洲第四色夜色| 蜜臀av性久久久久av蜜臀妖精| 蜜乳av一区二区| 国产一区二区精品在线观看| 久久国产夜色精品鲁鲁99| 亚洲图片欧美一区| 欧美日韩在线一区二区|